一个sql2005的存储过程问题

mangchao330688 2011-06-10 09:11:49
我在存储过程里写了一个select语句,可不可以获取语句里得的值。就是说。
我要获取select*from a  里   a表里的2个值。再进行查询,是在一个存储过程里哟。
...全文
72 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
打一壶酱油 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 mangchao330688 的回复:]
引用楼主 mangchao330688 的回复:
我在存储过程里写了一个select语句,可不可以获取语句里得的值。就是说。
我要获取select*from a  里   a表里的2个值。再进行查询,是在一个存储过程里哟。


我是在存储过程里写的哟,然后我想返回查询出来的值,副个参数,然后再执行一个sql语句。
[/Quote]
肯定是可以的,子查询什么的就可,主要是不明白你的需求
cd731107 2011-06-10
  • 打赏
  • 举报
回复
--要定义两个临时变量接收a表中的值,假设a有两个字段分别是id和name
declare @id int,@name varchar(100)
select @id=id,@name=name from a where id=100
--再利用得到的@id和@name执行你后面的操作
-晴天 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)
来实现.
mangchao330688 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 mangchao330688 的回复:]
我在存储过程里写了一个select语句,可不可以获取语句里得的值。就是说。
我要获取select*from a  里   a表里的2个值。再进行查询,是在一个存储过程里哟。
[/Quote]

我是在存储过程里写的哟,然后我想返回查询出来的值,副个参数,然后再执行一个sql语句。
叶子 2011-06-10
  • 打赏
  • 举报
回复
select * from b where id
in(select id from a where id>4)
chuanzhang5687 2011-06-10
  • 打赏
  • 举报
回复
declare @num int, @sqls nvarchar(4000) 
set @sqls='select count(*) from tableName'
exec(@sqls)

--小F-- 2011-06-10
  • 打赏
  • 举报
回复
输出参数 
declare @num int, @sqls nvarchar(4000)
set @sqls='select count(*) from tableName'
exec(@sqls)

--如何将exec执行结果放入变量中?

declare @num int, @sqls nvarchar(4000)
set @sqls='select @a=count(*) from tableName '
exec sp_executesql @sqls,N'@a int output',@num output
select @num

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧