当前位置: 代码迷 >> DB2 >> 为什么要这么多的单引号 执行exec AddProc 'employe','''kkk'',''''',该怎么解决
  详细解决方案

为什么要这么多的单引号 执行exec AddProc 'employe','''kkk'',''''',该怎么解决

热度:1724   发布时间:2013-02-26 00:00:00.0
为什么要这么多的单引号 执行exec AddProc 'employe','''kkk'','''''
请问有谁知道:下面这个存储过程,自爱执行的时候,当它的值是varchar类型是,为什么要打这么多的单引号?
create   proc   AddProc(@tableName   varchar(50),@value   varchar(500)= ' ')
as  
declare   @sql   varchar(60)
set   @sql= 'insert   into   '+@tableName+ '   values( '+@value+ ') '
exec   (@sql)

exec   AddProc   'admin ', ' ' 'dd ' ', ' '2 ' ' '

exec   AddProc   'employe ', ' ' 'kkk ' ', ' ' ' ' '

------解决方案--------------------------------------------------------
如果连续出现'的话,那么就把两个两个的'配对,前面的是转义字符,把转义字符去掉就是实际的值
比如
SQL code
exec   AddProc   'admin ', ' ' 'dd ' ', ' '2 ' ' '
  相关解决方案