一个sql2005的存储过程问题

我在存储过程里写了一个select语句,可不可以获取语句里得的值。就是说。
我要获取select*from a  里   a表里的2个值。再进行查询,是在一个存储过程里哟。

作者: mangchao330688   发布时间: 2011-06-10

SQL code
select * from b where id
in(select id from a where id>4)

作者: maco_wang   发布时间: 2011-06-10

引用楼主 mangchao330688 的回复:
我在存储过程里写了一个select语句,可不可以获取语句里得的值。就是说。
我要获取select*from a  里   a表里的2个值。再进行查询,是在一个存储过程里哟。


我是在存储过程里写的哟,然后我想返回查询出来的值,副个参数,然后再执行一个sql语句。

作者: mangchao330688   发布时间: 2011-06-10

没太明白.
如果是要通过查询结果再作进一步的查询,可以用
select @a=a,@b=b from tb
这样的语句先从tb中查询出内容,再用类似
select * from tc where id=@a and col=@b
的语句进行查询.
如果第一次查询所得的是对象名,如一个表名,则要用动态语句:
declare @str varchar(4000)
set @str='select * from '+a+' where id='''+@b+''''
exec(@str)
来实现.

作者: qianjin036a   发布时间: 2011-06-10

SQL code
--要定义两个临时变量接收a表中的值,假设a有两个字段分别是id和name
declare @id int,@name varchar(100)
select @id=id,@name=name from a where id=100
--再利用得到的@id和@name执行你后面的操作

作者: cd731107   发布时间: 2011-06-10

引用 2 楼 mangchao330688 的回复:
引用楼主 mangchao330688 的回复:
我在存储过程里写了一个select语句,可不可以获取语句里得的值。就是说。
我要获取select*from a  里   a表里的2个值。再进行查询,是在一个存储过程里哟。


我是在存储过程里写的哟,然后我想返回查询出来的值,副个参数,然后再执行一个sql语句。

肯定是可以的,子查询什么的就可,主要是不明白你的需求

作者: abcjun188   发布时间: 2011-06-10