请问有谁知道:下面这个存储过程,自爱执行的时候,当它的值是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 ' ' '