读书人

存储过程出错啦,该如何解决

发布时间: 2012-05-15 14:35:29 作者: rapoo

存储过程出错啦
有一个存储过程如下:
CREATE procedure Add_glb
@TableName varchar(30),
@jcmc varchar(20)
as
begin
exec('insert [' + @TableName + '](ch,zh1,jcmc,lxmc,cx,xl) select ch,zh1,jcmc,lxmc,cx,xl from chgul where jcmc=@jcmc')
end
go
调用:
declare @TableName varchar(30),@jcmc varchar(20) set @TableName='F2201252' set @jcmc='_2分公司'
exec Add_glb @TableName,@jcmc

出错信息:
必须声明变量‘@jcmc’

如果不加 where jcmc=@jcmc 去掉@jcmc就能正常调用

[解决办法]

SQL code
CREATE procedure Add_glb@TableName varchar(30),@jcmc varchar(20)asbeginexec('insert [' + @TableName + '](ch,zh1,jcmc,lxmc,cx,xl) select ch,zh1,jcmc,lxmc,cx,xl from chgul where jcmc='+''''+@jcmc+'''')endgo
[解决办法]
exec('insert [' + @TableName + '](ch,zh1,jcmc,lxmc,cx,xl) select ch,zh1,jcmc,lxmc,cx,xl from chgul where jcmc='''+@jcmc+'''')

读书人网 >SQL Server

热点推荐