174 lines
6.7 KiB
Transact-SQL
174 lines
6.7 KiB
Transact-SQL
IF OBJECT_ID(N'dbo.XD_电能表谐波数据', N'U') IS NULL
|
||
BEGIN
|
||
CREATE TABLE dbo.XD_电能表谐波数据
|
||
(
|
||
ID int IDENTITY(1,1) NOT NULL,
|
||
工位号 nvarchar(50) NULL,
|
||
A相电压总谐波畸变 float NULL,
|
||
B相电压总谐波畸变 float NULL,
|
||
C相电压总谐波畸变 float NULL,
|
||
系统电压总谐波畸变 float NULL,
|
||
A相电流总谐波畸变 float NULL,
|
||
B相电流总谐波畸变 float NULL,
|
||
C相电流总谐波畸变 float NULL,
|
||
系统电流总谐波畸变 float NULL,
|
||
A相电压奇次谐波畸变 float NULL,
|
||
B相电压奇次谐波畸变 float NULL,
|
||
C相电压奇次谐波畸变 float NULL,
|
||
A相电流奇次谐波畸变 float NULL,
|
||
B相电流奇次谐波畸变 float NULL,
|
||
C相电流奇次谐波畸变 float NULL,
|
||
A相电压偶次谐波畸变 float NULL,
|
||
B相电压偶次谐波畸变 float NULL,
|
||
C相电压偶次谐波畸变 float NULL,
|
||
A相电流偶次谐波畸变 float NULL,
|
||
B相电流偶次谐波畸变 float NULL,
|
||
C相电流偶次谐波畸变 float NULL,
|
||
操作时间 datetime NULL CONSTRAINT DF_XD_电能表谐波数据_操作时间 DEFAULT (GETDATE()),
|
||
CONSTRAINT PK_XD_电能表谐波数据 PRIMARY KEY CLUSTERED (ID ASC)
|
||
);
|
||
END
|
||
GO
|
||
|
||
IF NOT EXISTS (
|
||
SELECT 1
|
||
FROM sys.indexes
|
||
WHERE name = N'IX_XD_电能表谐波数据_工位号_操作时间'
|
||
AND object_id = OBJECT_ID(N'dbo.XD_电能表谐波数据')
|
||
)
|
||
BEGIN
|
||
CREATE NONCLUSTERED INDEX IX_XD_电能表谐波数据_工位号_操作时间
|
||
ON dbo.XD_电能表谐波数据 (工位号 ASC, 操作时间 DESC);
|
||
END
|
||
GO
|
||
|
||
IF OBJECT_ID(N'dbo.XD_电能表谐波数据_增加', N'P') IS NOT NULL
|
||
DROP PROCEDURE dbo.XD_电能表谐波数据_增加;
|
||
GO
|
||
|
||
CREATE PROCEDURE dbo.XD_电能表谐波数据_增加
|
||
@工位号 nvarchar(50) = N'',
|
||
@A相电压总谐波畸变 float = NULL,
|
||
@B相电压总谐波畸变 float = NULL,
|
||
@C相电压总谐波畸变 float = NULL,
|
||
@系统电压总谐波畸变 float = NULL,
|
||
@A相电流总谐波畸变 float = NULL,
|
||
@B相电流总谐波畸变 float = NULL,
|
||
@C相电流总谐波畸变 float = NULL,
|
||
@系统电流总谐波畸变 float = NULL,
|
||
@A相电压奇次谐波畸变 float = NULL,
|
||
@B相电压奇次谐波畸变 float = NULL,
|
||
@C相电压奇次谐波畸变 float = NULL,
|
||
@A相电流奇次谐波畸变 float = NULL,
|
||
@B相电流奇次谐波畸变 float = NULL,
|
||
@C相电流奇次谐波畸变 float = NULL,
|
||
@A相电压偶次谐波畸变 float = NULL,
|
||
@B相电压偶次谐波畸变 float = NULL,
|
||
@C相电压偶次谐波畸变 float = NULL,
|
||
@A相电流偶次谐波畸变 float = NULL,
|
||
@B相电流偶次谐波畸变 float = NULL,
|
||
@C相电流偶次谐波畸变 float = NULL
|
||
AS
|
||
BEGIN
|
||
SET NOCOUNT ON;
|
||
|
||
IF NULLIF(LTRIM(RTRIM(@工位号)), N'') IS NULL
|
||
RETURN;
|
||
|
||
-- 电表返回 -1 表示无效数据;任一谐波点无效时,本次整条采集不入库。
|
||
IF @A相电压总谐波畸变 = -1
|
||
OR @B相电压总谐波畸变 = -1
|
||
OR @C相电压总谐波畸变 = -1
|
||
OR @系统电压总谐波畸变 = -1
|
||
OR @A相电流总谐波畸变 = -1
|
||
OR @B相电流总谐波畸变 = -1
|
||
OR @C相电流总谐波畸变 = -1
|
||
OR @系统电流总谐波畸变 = -1
|
||
OR @A相电压奇次谐波畸变 = -1
|
||
OR @B相电压奇次谐波畸变 = -1
|
||
OR @C相电压奇次谐波畸变 = -1
|
||
OR @A相电流奇次谐波畸变 = -1
|
||
OR @B相电流奇次谐波畸变 = -1
|
||
OR @C相电流奇次谐波畸变 = -1
|
||
OR @A相电压偶次谐波畸变 = -1
|
||
OR @B相电压偶次谐波畸变 = -1
|
||
OR @C相电压偶次谐波畸变 = -1
|
||
OR @A相电流偶次谐波畸变 = -1
|
||
OR @B相电流偶次谐波畸变 = -1
|
||
OR @C相电流偶次谐波畸变 = -1
|
||
RETURN;
|
||
|
||
-- 谐波畸变允许为 0;只有全部点位都为空时跳过保存。
|
||
IF @A相电压总谐波畸变 IS NULL
|
||
AND @B相电压总谐波畸变 IS NULL
|
||
AND @C相电压总谐波畸变 IS NULL
|
||
AND @系统电压总谐波畸变 IS NULL
|
||
AND @A相电流总谐波畸变 IS NULL
|
||
AND @B相电流总谐波畸变 IS NULL
|
||
AND @C相电流总谐波畸变 IS NULL
|
||
AND @系统电流总谐波畸变 IS NULL
|
||
AND @A相电压奇次谐波畸变 IS NULL
|
||
AND @B相电压奇次谐波畸变 IS NULL
|
||
AND @C相电压奇次谐波畸变 IS NULL
|
||
AND @A相电流奇次谐波畸变 IS NULL
|
||
AND @B相电流奇次谐波畸变 IS NULL
|
||
AND @C相电流奇次谐波畸变 IS NULL
|
||
AND @A相电压偶次谐波畸变 IS NULL
|
||
AND @B相电压偶次谐波畸变 IS NULL
|
||
AND @C相电压偶次谐波畸变 IS NULL
|
||
AND @A相电流偶次谐波畸变 IS NULL
|
||
AND @B相电流偶次谐波畸变 IS NULL
|
||
AND @C相电流偶次谐波畸变 IS NULL
|
||
RETURN;
|
||
|
||
INSERT INTO dbo.XD_电能表谐波数据
|
||
(
|
||
工位号,
|
||
A相电压总谐波畸变,
|
||
B相电压总谐波畸变,
|
||
C相电压总谐波畸变,
|
||
系统电压总谐波畸变,
|
||
A相电流总谐波畸变,
|
||
B相电流总谐波畸变,
|
||
C相电流总谐波畸变,
|
||
系统电流总谐波畸变,
|
||
A相电压奇次谐波畸变,
|
||
B相电压奇次谐波畸变,
|
||
C相电压奇次谐波畸变,
|
||
A相电流奇次谐波畸变,
|
||
B相电流奇次谐波畸变,
|
||
C相电流奇次谐波畸变,
|
||
A相电压偶次谐波畸变,
|
||
B相电压偶次谐波畸变,
|
||
C相电压偶次谐波畸变,
|
||
A相电流偶次谐波畸变,
|
||
B相电流偶次谐波畸变,
|
||
C相电流偶次谐波畸变
|
||
)
|
||
VALUES
|
||
(
|
||
@工位号,
|
||
@A相电压总谐波畸变 / 1000.0,
|
||
@B相电压总谐波畸变 / 1000.0,
|
||
@C相电压总谐波畸变 / 1000.0,
|
||
@系统电压总谐波畸变 / 1000.0,
|
||
@A相电流总谐波畸变 / 1000.0,
|
||
@B相电流总谐波畸变 / 1000.0,
|
||
@C相电流总谐波畸变 / 1000.0,
|
||
@系统电流总谐波畸变 / 1000.0,
|
||
@A相电压奇次谐波畸变 / 1000.0,
|
||
@B相电压奇次谐波畸变 / 1000.0,
|
||
@C相电压奇次谐波畸变 / 1000.0,
|
||
@A相电流奇次谐波畸变 / 1000.0,
|
||
@B相电流奇次谐波畸变 / 1000.0,
|
||
@C相电流奇次谐波畸变 / 1000.0,
|
||
@A相电压偶次谐波畸变 / 1000.0,
|
||
@B相电压偶次谐波畸变 / 1000.0,
|
||
@C相电压偶次谐波畸变 / 1000.0,
|
||
@A相电流偶次谐波畸变 / 1000.0,
|
||
@B相电流偶次谐波畸变 / 1000.0,
|
||
@C相电流偶次谐波畸变 / 1000.0
|
||
);
|
||
END
|
||
GO
|