IF EXISTS(SELECT *FROM sysobjects WHERE id=OBJECT_ID('Proc_fetch_all')) --事先删除存储过程
DROP PROCEDURE Proc_fetch_all
go
CREATE PROCEDURE Proc_fetch_all
AS
--当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。当 SET NOCOUNT 为 OFF 时,返回计数。
SET NOCOUNT ON
DECLARE @name VARCHAR(20)
BEGIN
DECLARE db_cursor CURSOR SCROLL FOR SELECT Sname FROM Student --创建游标
OPEN db_cursor --打开游标
FETCH FIRST FROM db_cursor INTO @name
SELECT @name AS Sname
WHILE @@FETCH_STATUS=0 --游标读取下一条数据是否成功
BEGIN
FETCH NEXT FROM db_cursor INTO @name
SELECT @name AS Sname
end
CLOSE db_cursor --关闭游标
deallocate db_cursor --删除游标
end
SET NOCOUNT OFF
GO
EXEC PROC_fetch_all --执行存储过程
SQL 存储过程,游标
最新推荐文章于 2024-02-03 17:19:54 发布