不用游标实现遍历
来源:互联网 发布:多线程并发写数据库 编辑:程序博客网 时间:2024/06/05 09:01
/****** Object: Trigger [dbo].[TR_JISHUI_LASTEST] Script Date: 03/10/2015 15:07:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[TR_DJISHUI_LASTEST]
ON [dbo].[T_JISHUI_LASTEST]
FOR INSERT,UPDATE
AS
BEGIN
DECLARE @S_HASMONITOR VARCHAR(30)
SELECT @S_HASMONITOR=S_HASMONITOR FROM INSERTED Tam left join sde.T_JISHUI_MONITOR as Tab on Tam.S_NO=Tab.S_NO
IF @S_HASMONITOR<>'dd'
BEGIN
INSERT INTO T_JISHUI_HISTORY
(S_NO,T_STIME,T_SYSTIME,N_VALUE,S_C,S_V,S_WATERDESC,S_CDESC,S_VDESC,S_TREND,S_TYPE,S_CREATEUSER,N_WATERVALUE,N_CJZ)
SELECT S_NO,T_STIME,T_SYSTIME,N_VALUE,S_C,S_V,S_WATERDESC,S_CDESC,S_VDESC,S_TREND,S_TYPE,S_CREATEUSER,N_WATERVALUE,N_CJZ FROM INSERTED
INSERT T_JISHUI_OFFLINE (S_NO,T_BEGINTIME, T_ENDTIME,N_LENGTH)
SELECT I.S_NO,D.T_SYSTIME,I.T_SYSTIME,DATEDIFF(MI,D.T_SYSTIME,I.T_SYSTIME) FROM INSERTED I INNER JOIN DELETED D ON I.S_NO=D.S_NO WHERE DATEDIFF(MI,D.T_SYSTIME,I.T_SYSTIME)>=120
BEGIN TRY
CREATE TABLE #TMP
(
N_ID INT IDENTITY,
S_NO VARCHAR(32),
N_VALUE DECIMAL(18,2),
T_STIME DATETIME,
T_SYSTIME DATETIME
)
INSERT INTO #TMP(S_NO,N_VALUE,T_STIME,T_SYSTIME)
SELECT S_NO,N_VALUE,T_STIME,T_SYSTIME FROM INSERTED WHERE S_CREATEUSER='TWO' OR S_CREATEUSER='wmt'
DECLARE @FLG INT
DECLARE @CUNT INT
DECLARE @S_NO VARCHAR(32)
DECLARE @N_VALUE DECIMAL(18,2)
DECLARE @T_STIME DATETIME
DECLARE @T_SYSTIME DATETIME
SELECT @CUNT=COUNT(N_ID) FROM #TMP
SET @FLG=1
WHILE @FLG<(@CUNT+1)
BEGIN
SELECT @S_NO=S_NO,@N_VALUE=N_VALUE,@T_STIME=T_STIME,@T_SYSTIME=T_SYSTIME FROM #TMP WHERE N_ID=@FLG
IF NOT EXISTS (SELECT N_ID FROM LZJXLJ.DBO.T_XLJ_LASTEST WHERE S_NO=@S_NO)
BEGIN
INSERT INTO LZJXLJ.DBO.T_XLJ_LASTEST(S_NO,N_VALUE,T_STIME,T_SYSTIME) VALUES (@S_NO,@N_VALUE,@T_STIME,@T_SYSTIME)
END
ELSE
BEGIN
UPDATE LZJXLJ.DBO.T_XLJ_LASTEST SET N_VALUE=@N_VALUE,T_STIME=@T_STIME,T_SYSTIME=@T_SYSTIME WHERE S_NO=@S_NO
END
SET @FLG=@FLG+1
END
DROP TABLE #TMP
END TRY
BEGIN CATCH
END CATCH
END
END
0 0
- 不用游标实现遍历
- 不用游标 遍历记录的sql语句
- 不用游标也能遍历记录的sql语句实例
- 利用oracle动态游标实现动态SQL循环遍历
- oracle动态游标实现动态SQL循环遍历
- 利用Oracle动态游标实现动态SQL循环遍历
- 不用栈实现二叉树非递归中序遍历
- 不用栈实现二叉树非递归中序遍历
- 非递归,不用栈实现二叉树中序遍历
- mysql 遍历游标 处理
- 避免游标多次遍历
- 游标遍历表
- ORACLE 游标遍历
- ORACLE 游标遍历
- Mysql游标遍历
- MySQL 游标遍历
- Oracle游标遍历
- Mysql游标循环遍历
- 如何阅读源代码
- MyEclipse2015 stable 1.0的jQuery智能提示
- 汽狄谣绎噗莰击襄醚水什帻瞅埙獗手亠浒违嘬秉卤浣级芒涛掊堑传
- ZigZag Conversion
- Ceph cephx认证配置
- 不用游标实现遍历
- hdu 2665 划分树
- Android 使用fragment时 listview与手势冲突
- 《RFID技术与应用》第一次作业
- time()的初步理解
- 三分法求极值
- yum无法更新
- IOS 定制中间突出UItabBar
- 【动态规划DP,floyd最短路】poj2240,Arbitrage