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

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

2012-05-15 
存储过程出错啦有一个存储过程如下:CREATE procedure Add_glb@TableName varchar(30),@jcmc varchar(20)as

存储过程出错啦
有一个存储过程如下:
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+'''')

热点排行