帮忙看一见这个存储过程,是哪里出了错,谢谢

xiefenghua 2009-09-16 11:01:41
create proc count_proc
@tableName varchar(255),
@j int output
as

declare @sql varchar(255)
begin
set @sql='
select @j=count(*)as num from ['+@tableName+']'
print(@j)
print(@sql)
end

declare @j int
exec count_proc 'T_suborder',@j output
print(@j)

执行不会报错,但是没有输出@j。
谢谢了。
...全文
105 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chuifengde 2009-09-16
  • 打赏
  • 举报
回复
create proc count_proc 
@tableName varchar(255),
@j int output
as

declare @sql nvarchar(255)
begin
set @sql='select @j=count(*) from ['+@tableName+']'
EXEC sp_executesql @sql,N'@j int out',@j out
end


link1130 2009-09-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 chuifengde 的回复:]
SQL codecreateproc count_proc@tableNamevarchar(255),@jint outputasdeclare@sqlnvarchar(255)beginset@sql='select @j=count(*) from ['+@tableName+']'EXEC sp_executesql@sql,N'@j int out',@j outend


[/Quote]
正解
dqizi123 2009-09-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 chuifengde 的回复:]
SQL codecreateproc count_proc@tableName nvarchar(255),@jint outputasdeclare@sql nvarchar(255)beginset@sql='select @j=count(*) from ['+@tableName+']'EXEC sp_executesql@sql,N'@j int out',@j outend


[/Quote]
1楼的正确,
jjx5373 2009-09-16
  • 打赏
  • 举报
回复
1楼正解,
你的Print 语句,只打印,不执行的,
soft_wsx 2009-09-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 chuifengde 的回复:]
SQL codecreateproc count_proc@tableNamevarchar(255),@jint outputasdeclare@sqlnvarchar(255)beginset@sql='select @j=count(*) from ['+@tableName+']'EXEC sp_executesql@sql,N'@j int out',@j outend


[/Quote]同意
david0927cs2006 2009-09-16
  • 打赏
  • 举报
回复
动态的不太会,学习一下
下步计划学习动态SQL语法

34,590

社区成员

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

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