批处理表进行记录处理
DECLARE tnames_cursor CURSOR
FOR
SELECT name
FROM sys.tables where is_ms_shipped='0'
OPEN tnames_cursor
DECLARE @tablename sysname
--SET @tablename = 'authors'
FETCH NEXT FROM tnames_cursor INTO @tablename
WHILE (@@FETCH_STATUS <> -1)
BEGIN
IF (@@FETCH_STATUS <> -2)
BEGIN
SELECT @tablename = RTRIM(@tablename)
EXEC (' select count(1),'''+@tablename+''' from syscolumns where [id]=object_id('''+@tablename+''') and [name]=''TBSJ1''' )
END
FETCH NEXT FROM tnames_cursor INTO @tablename
END
CLOSE tnames_cursor
DEALLOCATE tnames_cursor
/****** 陈挺 2011-02-14 *****/
/*火调修项目状态和处理时间的脚本*/
/*可重复执行*/
/*当认定书与以下文书同时存在时,则以一下文书为有效力的文书*/
DECLARE CURSOR1 CURSOR
FOR
SELECT ITEMBH FROM XFJD_XMXX WHERE ITEMTYPE ='H' AND DELETED =0 AND ITEMRESULT =0 and ItemStateTwo <>1--首先遍历火调任务
OPEN CURSOR1
DECLARE @ITEMBH VARCHAR(50),@DATETIME DATETIME
FETCH NEXT FROM CURSOR1 INTO @ITEMBH
WHILE (@@FETCH_STATUS <> -1)
BEGIN
IF (@@FETCH_STATUS <> -2)
BEGIN
SELECT @ITEMBH = RTRIM(@ITEMBH)
SELECT @DATETIME=GETDATE()
IF (SELECT COUNT(*) FROM XFJD_FLWS WHERE FLWSLB IN ('3H04') AND STATE =5 AND ITEMBH =@ITEMBH)>0 --查找项目中是否存在案件移送
BEGIN
SELECT TOP 1 @DATETIME= APPTIME FROM XFJD_FLWS WHERE FLWSLB IN ('3H04') AND STATE =5 AND ITEMBH =@ITEMBH
EXEC ('UPDATE XFJD_XMXX SET ITEMSTATETWO=2 WHERE ITEMBH='''+@ITEMBH+'''')
END
ELSE IF (SELECT COUNT(*) FROM XFJD_FLWS WHERE FLWSLB IN ('4X16') AND STATE =5 AND ITEMBH =@ITEMBH)>0 --查找项目中是否存在刑案审批
BEGIN
SELECT TOP 1 @DATETIME= APPTIME FROM XFJD_FLWS WHERE FLWSLB IN ('4X16') AND STATE =5 AND ITEMBH =@ITEMBH
EXEC ('UPDATE XFJD_XMXX SET ITEMSTATETWO=4 WHERE ITEMBH='''+@ITEMBH+'''')
END
ELSE IF (SELECT COUNT(*) FROM XFJD_FJ WHERE TYPENAME ='H804' AND ITEMBH = @ITEMBH)>0 --查找项目中是否存在行政处分的函
BEGIN
SELECT TOP 1 @DATETIME= INTIME FROM XFJD_FJ WHERE TYPENAME ='H804' AND ITEMBH = @ITEMBH
EXEC ('UPDATE XFJD_XMXX SET ITEMSTATETWO=3 WHERE ITEMBH='''+@ITEMBH+'''')
END
ELSE IF(SELECT COUNT(*) FROM XFJD_FLWS A,XFJD_XMXX B WHERE A.FLWSLB ='4C01' AND A.STATE =5 AND A.ITEMBH =B.ITEMBH AND B.RELATIONITEMBH=@ITEMBH)>0 --查找项目中是否存在受案登记表
BEGIN
SELECT TOP 1 @DATETIME= APPTIME FROM XFJD_FLWS A,XFJD_XMXX B WHERE A.FLWSLB ='4C01' AND A.STATE =5 AND A.ITEMBH =B.ITEMBH AND B.RELATIONITEMBH=@ITEMBH
EXEC ('UPDATE XFJD_XMXX SET ITEMSTATETWO=5 WHERE ITEMBH='''+@ITEMBH+'''')
END
END
FETCH NEXT FROM CURSOR1 INTO @ITEMBH
END
CLOSE CURSOR1
DEALLOCATE CURSOR1
DECLARE CURSOR2 CURSOR
FOR
SELECT ITEMBH FROM XFJD_XMXX WHERE ITEMTYPE ='F' AND DELETED =0 AND ITEMRESULT =0 and ItemStateTwo <>1 --复核任务
OPEN CURSOR2
FETCH NEXT FROM CURSOR2 INTO @ITEMBH
WHILE (@@FETCH_STATUS <> -1)
BEGIN
IF (@@FETCH_STATUS <> -2)
BEGIN
SELECT @ITEMBH = RTRIM(@ITEMBH)
SELECT @DATETIME=GETDATE()
IF (SELECT COUNT(*) FROM XFJD_FLWS WHERE FLWSLB IN ('3F07') AND STATE =5 AND ITEMBH =@ITEMBH)>0 --查找是否存在复核终止,需填写处理时间
BEGIN
SELECT TOP 1 @DATETIME= APPTIME FROM XFJD_FLWS WHERE FLWSLB IN ('3F07') AND STATE =5 AND ITEMBH =@ITEMBH
EXEC ('UPDATE XFJD_XMXX SET ITEMSTATETWO=7 , CLTIME ='''+@DATETIME+''' WHERE ITEMBH='''+@ITEMBH+'''')
END
ELSE IF (SELECT COUNT(*) FROM XFJD_FLWS WHERE FLWSLB IN ('3F04') AND STATE =5 AND ITEMBH =@ITEMBH)>0 --查找是否存在不予受理,需填写处理时间
BEGIN
SELECT TOP 1 @DATETIME= APPTIME FROM XFJD_FLWS WHERE FLWSLB IN ('3F04') AND STATE =5 AND ITEMBH =@ITEMBH
EXEC ('UPDATE XFJD_XMXX SET ITEMSTATETWO=6 , CLTIME ='''+@DATETIME+''' WHERE ITEMBH='''+@ITEMBH+'''')
END
END
FETCH NEXT FROM CURSOR2 INTO @ITEMBH
END
CLOSE CURSOR2
DEALLOCATE CURSOR2

浙公网安备 33010602011771号