请教在存储过程中执行SQL,如何把多个结果放入定义的变量中?

vchat2004 2006-02-12 10:21:11
declare @aaa int, @bbb char(80), @ccc datetime, @sqls nvarchar(4000)
set @sqls='select @aaa=aaa, @bbb=bbb, @ccc=ccc from tableName'
exec sp_executesql @sqls,N'@aaa int output, @bbb char(80) output, @ccc datetime', @aaa output, @bbb output, @ccc output

上述写法对不对?(或许select 后面还需加个 top 1)
...全文
249 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
-狙击手- 2006-02-13
  • 打赏
  • 举报
回复
沙发
easyboot 2006-02-13
  • 打赏
  • 举报
回复
正确的

超级大笨狼 2006-02-13
  • 打赏
  • 举报
回复
对,把多个结果放入定义的变量中,查询只能是一行记录。
子陌红尘 2006-02-12
  • 打赏
  • 举报
回复
这样执行的查询只能获得最后一行记录的结果,加上top 1:

set @sqls='select top 1 @aaa=aaa, @bbb=bbb, @ccc=ccc from tableName'

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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