drop procedure jobs_cursor go /*接着创建存储过程jobs_cursor*/ create procedure jobs_cursor @jobs_cursor cursor varying output as /* 给游标变量赋值*/ set @jobs_cursor = cursor forward_only static for select * from jobs /* 打开游标*/ open @jobs_cursor go use pubs go declare @mycursor cursor declare @job_id int declare @job_desc varchar(255) declare @min_lvl int declare @max_lvl int exec jobs_cursor @jobs_cursor = @mycursor output while (@@fetch_status = 0) begin fetch next from @mycursor into @job_id, @job_desc, @min_lvl, @max_lvl print @job_id end /* 关闭游标*/ close @mycursor deallocate @mycursor go try it:)
go
/*接着创建存储过程jobs_cursor*/
create procedure jobs_cursor @jobs_cursor cursor varying output
as
/* 给游标变量赋值*/
set @jobs_cursor = cursor
forward_only static for
select *
from jobs
/* 打开游标*/
open @jobs_cursor
go
use pubs
go
declare @mycursor cursor
declare @job_id int
declare @job_desc varchar(255)
declare @min_lvl int
declare @max_lvl int
exec jobs_cursor @jobs_cursor = @mycursor output
while (@@fetch_status = 0)
begin
fetch next from @mycursor into @job_id, @job_desc, @min_lvl, @max_lvl
print @job_id
end
/* 关闭游标*/
close @mycursor
deallocate @mycursor
go
try it:)