你所需要的是不是从存储过程里返回结果集?
在SQL SERVER的存储过程里可以直接返回一个或多个结果集
当然也可以通过将存储过程返回的结果集插入一临时表,再从临时表中选取结果,
例如 ,建临时表#tmptbl,执行insert #tmptbl EXEC sp_xyz,然后执行
Select * from #tmptbl 或对表中执行其它操作
在SQL SERVER的存储过程里可以直接返回一个或多个结果集
当然也可以通过将存储过程返回的结果集插入一临时表,再从临时表中选取结果,
例如 ,建临时表#tmptbl,执行insert #tmptbl EXEC sp_xyz,然后执行
Select * from #tmptbl 或对表中执行其它操作
但是@result返回时就用错!
主要是原来的程序用的是Interbase,存储过程都是这样调用的'select * from 存储过程',TQUERY.OPEN;不想对程序做太多动作.
先谢谢大家,期待更优秀的答案.
DECLARE @FIELD1 varchar(100), @FIELD2 int声明一个游标
DECLARE CURSOR bt FOR
SELECT field1, field2 FROM tableOPEN bt
FETCH NEXT FROM bt INTO @FIELD1, @FIELD2
WHILE (@@FETCH_STATUE <> -1)
/*这里可以加入你的处理程序*/
FETCH NEXT FROM bt INTO @FIELD1, @FIELD2
BEGIN
END
CLOSE bt我的Email:[email protected]
use pubs
go
1)
create proc Demo(@p char(20) output)
as
begin
select @p=lname from authors
end2)
create proc Demo(@p char(20))
as
begin
select @p=lname from authors
select @p
end