一个sql2005的存储过程问题
我在存储过程里写了一个select语句,可不可以获取语句里得的值。就是说。
我要获取select*from a 里 a表里的2个值。再进行查询,是在一个存储过程里哟。
我要获取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个值。再进行查询,是在一个存储过程里哟。
我在存储过程里写了一个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)
来实现.
如果是要通过查询结果再作进一步的查询,可以用
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语句。
引用楼主 mangchao330688 的回复:
我在存储过程里写了一个select语句,可不可以获取语句里得的值。就是说。
我要获取select*from a 里 a表里的2个值。再进行查询,是在一个存储过程里哟。
我是在存储过程里写的哟,然后我想返回查询出来的值,副个参数,然后再执行一个sql语句。
肯定是可以的,子查询什么的就可,主要是不明白你的需求
作者: abcjun188 发布时间: 2011-06-10