--声明游标中使用的变量
DECLARE @id VARCHAR(4) ,
@zglb INT;
--声明游标并赋值
DECLARE user_role CURSOR
FOR
SELECT id ,
zglb
FROM THIS4..YY_ZGBMK
WHERE zglb = 0 ;
--打开游标
OPEN user_role;
--把游标里的值放到变量里
FETCH NEXT FROM user_role INTO @id, @zglb;
--确定是否返回值
WHILE @@FETCH_STATUS = 0
BEGIN
IF NOT EXISTS ( SELECT 1
FROM SM_USER_ROLE
WHERE USER_ID = @id )
BEGIN
INSERT INTO dbo.SM_USER_ROLE
( ROLE_ID, USER_ID )
VALUES ( 1, @id );
-- IF @id = 'YYYY'
-- UPDATE THIS4..YY_ZGBMK
-- SET id = '00'
-- WHERE CURRENT OF user_role;
END;
--查询下一个游标内的值并赋值到变量
FETCH NEXT FROM user_role INTO @id, @zglb;
END;
--关闭游标
CLOSE user_role;
--释放游标
DEALLOCATE user_role;
--SELECT * FROM SM_USER_ROLE
--DELETE FROM SM_USER_ROLE
SQL 游标的简单使用
最新推荐文章于 2024-06-29 12:02:59 发布