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

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

2012-02-16 
为什么要这么多的单引号 执行exec AddProc employe,kkk,请问有谁知道:下面这个存储过程,自爱

为什么要这么多的单引号 执行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 ' ' ' 

热点排行