我试图在我的数据库中创建一个自递增值,它在时间间隔大于一秒后增加值。流分析当前正在将数据从事件中心发送到SQL数据库中的不同表,因此我只需要能够存储单个值,因此如果没有间隙,则存储变量,但如果有间隙,则存储变量+1。
从我所看到的,这里有另一个问题,询问变量,但它没有回应,在这一点上,它正在成为一个真实的的障碍。
我尝试了在SQL中声明变量的正常方法:
DECLARE @New_Test_Number AS INT
IF DatabaseInputTestNumber IS NULL
SET @New_Test_Number = 1;
ELSE
IF DATEDIFF(SECOND,LAG(Time),Time) > 1
SET @New_Test_Number = DatabaseInputTestNumber + 1;
ELSE
SET @New_Test_Number = DatabaseInputTestNumber;
其中 DatabaseInputTestNumber 是从数据库中读取的,New_Test_Number 是我的变量。
为了澄清,数据来自事件中心,以进行流分析,然后到SQL数据库。存储当前测试编号的同一数据库。
1条答案
按热度按时间voase2hg1#
我尝试使用以下示例数据在我的环境中复制该问题
使用下面的代码:
我得到了下面的错误:
我试着用下面的代码来解决这个问题:
数据更新成功: