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

tonnycncn 2005-03-24 11:58:46
问一下,
SQL server中写存储过程,
Set @SQL = 'select count(*) from aa '
exec(@SQL)
如何将执行结果传给@num这个变量
...全文
164 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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 字符串
  • 打赏
  • 举报
回复
相关推荐
发帖
应用实例

2.7w+

社区成员

MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
帖子事件
创建了帖子
2005-03-24 11:58
社区公告
暂无公告