有关存储过程问题,exec(@SQL)后,如何将执行结果传给@num这个变量

tonnycncn 2005-03-24 11:58:46
问一下,
SQL server中写存储过程,
Set @SQL = 'select count(*) from aa '
exec(@SQL)
如何将执行结果传给@num这个变量
...全文
189 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
talantlee 2005-03-24
  • 打赏
  • 举报
回复
不好意思 ,我看錯了,一樣的結果
talantlee 2005-03-24
  • 打赏
  • 举报
回复
declare @num int,
@sqls nvarchar(4000)
set @sqls=N'select @a=count(*) from orders'
exec sp_executesql @sqls,N'@a int output',@num output
select @num
是這樣的把
jinjazz 2005-03-24
  • 打赏
  • 举报
回复
use northwind
go

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


/*
-----------
830

*/
wudan8057 2005-03-24
  • 打赏
  • 举报
回复
看一看
http://community.csdn.net/Expert/topic/3876/3876574.xml?temp=.6500055
zheninchangjiang 2005-03-24
  • 打赏
  • 举报
回复
不可以,用sp_executesql
jinjazz 2005-03-24
  • 打赏
  • 举报
回复
sp_executesql 参数必须是 N'xxxx' 这样的 ,varchar不可以的

tonnycncn 2005-03-24
  • 打赏
  • 举报
回复
谢谢各位,
我还试了一下,如果把@sqls 定义为varchar(4000) 而不是@sqls nvarchar(4000)时,
会提示
"过程需要参数 '@statement' 为 'ntext/nchar/nvarchar' 类型。"
所以此参数必须为 Unicode 字符串

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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