首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

施行存储过程

2013-01-01 
执行存储过程create procedure Infor(@num int output,@filter varchar(100))asdeclare @sql varchar(100)

执行存储过程
  create procedure Infor
(
@num int output,
@filter varchar(100)
)

as
declare @sql varchar(100)
set @sql='select @num=count(*) from sales order by'+ @filter+'desc'
exec(@sql)
为什么获取不到@num的值

declare @num int

exec Infor @num ,'title_id'
[解决办法]
exec(@sql)

这个@sql 已经不是在存储过程内部了,是把这句提交给数据库系统。当然看不到你的存储过程内的变量了。
[解决办法]
1、用临时表保存;
2、用打开记录集的方法获得。

热点排行
Bad Request.