读书人

===求教关于存储过程变量声明的有关问

发布时间: 2012-01-09 21:05:42 作者: rapoo

===求教关于存储过程变量声明的问题===
我在存储过程中写了如下语句:
as
declare @i int
declare @sql varchar(1000)

set @sql = ' select @i= coumt(1) from ...'
exec(@sql)

sql2000里存储过程本身的保存都通过了,
可是在执行程序的过程中,WEB系统却提示说‘须声明变量 '@i',
请问这是怎么回事?

[解决办法]
你可能需要使用sp_executesql来运行带有参数的Sql语句,比如:

SQL code
/*只有传出的参数*/declare @t intset @t=0execute sp_executesql           N'select @count=count(1) from pubs.dbo.employee',          N'@count int output',          @t output
[解决办法]
看看这个
http://www.cnblogs.com/edobnet/archive/2005/04/24/144509.html

读书人网 >C#

热点推荐