不解释直接上代码
alter PROCEDURE dbo.CP_OpenPiece_Sync
@ID VARCHAR(36),
@Code VARCHAR(150),
@DatTim VARCHAR(150),
@RecipeCode VARCHAR(50),
@Customer VARCHAR(250),
@ProjName VARCHAR(250),
@ConsPos VARCHAR(250),
@Mark VARCHAR(250),
@proj_id INT ,
@topicTitle VARCHAR(150),
@mixNo VARCHAR(15),
@mixName VARCHAR(250)
AS
BEGIN
IF (EXISTS(SELECT 1 FROM dbo.OpenPiece WHERE id = @ID))
BEGIN
RETURN 1
END
--数据同步
INSERT INTO dbo.OpenPiece (ID,
Code,
DatTim,
RecipeCode,
Customer,
ProjName,
ConsPos,
Mark,
proj_id,
topicTitle,
mixNo,
mixName)
VALUES (@ID, -- ID - varchar(22)
@Code, -- Code - varchar(22)
@DatTim, -- DatTim - datetime
@RecipeCode, -- RecipeCode - varchar(500)
@Customer, -- Customer - varchar(50)
@ProjName, -- ProjName - varchar(120)
@ConsPos, -- ConsPos - varchar(300)
@Mark, -- Mark - varchar(50)
@proj_id, -- proj_id - int
@topicTitle, -- topicTitle - varchar(50)
@mixNo, -- mixNo - varchar(15)
@mixName -- mixName - varchar(120)
)
DECLARE @addTime DATETIME,@iffSecond int =0,@result1 FLOAT = 0,
@bjvalue float = 0 --报警值
--振动预警
IF(@RecipeCode ='C30')
BEGIN
SELECT TOP 1 @addTime= AddTime,@result1=CAST(Result1 AS FLOAT) FROM DBLink46.GPMSIOT.dbo.Road_DeviceResult WHERE Topic = 'roadmanager/mgate/publish/LX/01'
ORDER BY AddTime DESC
SELECT @iffSecond = ABS( datediff(SECOND,@addTime,@addTime))
IF(@iffSecond<=20 and @result1<=@bjvalue)
BEGIN
PRINT 11
END
END
END