sql service 存储过程,游标的使用
1、建表
DROP TABLE dbo.users
GOCREATE TABLE dbo.users (
id int NOT NULL ,
name varchar(32) NULL
)
GO
ALTER TABLE dbo.users ADD PRIMARY KEY (id)GO
2、添加数据
--删除存储过程
if (exists (select * from sys.objects where name = 'insert_users'))
drop proc insert_users
go
--创建存储过程
create proc insert_users as
begin
declare @i int;
set @i = 0;
while @i <100
begin
set @i = @i + 1;
insert into dbo.users values(@i, cast(@i as VARCHAR)+'name');
end
end
--执行存储过程
exec insert_users
3游标的使用
--删除存储过程
if (exists (select * from sys.objects where name = 'my_proc_cursor'))
drop proc my_proc_cursor
go
--创建存储过程
create proc my_proc_cursor as
begin
DECLARE @id int,@name VARCHAR(32);
--定义游标
declare my_cursor CURSOR for select top 10 * from dbo.users;
--打开游标
open my_cursor;
--首次填充数据
FETCH NEXT FROM my_cursor into @id, @name;
--假如检索到了数据,才处理
WHILE @@fetch_status = 0
BEGIN
select @id, @name;
--再次填充数据,(相当于i=i+1的操作)
FETCH NEXT FROM my_cursor into @id, @name;
END
end
--执行存储过程
exec my_proc_cursor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)