例如:
--创建存储过程b
create proc b
as
select name from syscolumns
go
--创建存储过程a
create proc a
as
--创建一个临时表,用来保存调用存储过程b的返回结果集.
create table #tb(name varchar(250))
--调用存储过程b,并将结果保存到临时表#tb中
insert into #tb exec b
--显示调用存储过程b的结果
select * from #tb
go
CREATE PROCEDURE a ( @cursor CURSOR VARYING OUTPUT )
AS
BEGIN
SET @cursor =CURSOR LOCAL SCROLL FOR
SELECT name from conduct
OPEN @cursor
END
CREATE PROCEDURE b
as
DECLARE @cursor CURSOR
DECLARE @name varchar(10)
EXECUTE a @cursor OUTPUT
IF Cursor_Status('variable', '@cursor') <= 0
BEGIN
select 'error'
END
ELSE
BEGIN
FETCH @cursor INTO @name
select @name
END
CREATE PROCEDURE a ( @cursor CURSOR VARYING OUTPUT )
AS
BEGIN
SET @cursor =CURSOR LOCAL SCROLL FOR
SELECT name from conduct
OPEN @cursor
END
CREATE PROCEDURE b
as
DECLARE @cursor CURSOR
DECLARE @name varchar(10)
EXECUTE a @cursor OUTPUT
IF Cursor_Status('variable', '@cursor') <= 0
BEGIN
select 'error'
END
ELSE
BEGIN
FETCH @cursor INTO @name
select @name
END