日期:2014-05-18  浏览次数:20638 次

求教,在存储过程中怎么样完成分条查询,呵呵,可能讲得不清楚~
就是这样,比方说有两个表:表A和表B,在存储过程中先由一个SELECT从表A查询记录,比方说查到了50条记录,然后第二个SELECT语句以第一个的返回表的每一行记录的某一列值作为参数依次对表B进行查询,并把所有的结果以一个表返回,请问这个怎么实现?

或者说其他还有什么好的办法?

谢谢啦!

---------------

呵呵,顺便问一下,对于存储过程中使用的的变量,存储过程内部使用的,是不是必须要像正常的输入参数一样声明啊?

谢谢啦!!!

------解决方案--------------------
create procedure 比方说
@比方说输入参数1 int,
@比方说输入参数2 varchar(100)
as

set nocount on

declare @第1个存储过程内部使用的变量 int
declare @第2个存储过程内部使用的变量 varchar(10)

declare 比方说游标 cursor for select 某一列 from 表A where ???
open 比方说游标
fetch next from 比方说游标 into @第2个存储过程内部使用的变量
while @@fetch_status = 0
begin
insert 比方说定义一个临时表 select ??? from 表B where ?? @第2个存储过程内部使用的变量
fetch next from 比方说游标 into @第2个存储过程内部使用的变量
end
close 比方说游标
deallocate 比方说游标

select * from 比方说定义一个临时表

set nocount off

go