日期:2014-05-18  浏览次数:20546 次

把多个条件串起来,传给存储过程报错
如:
create proc pr_name (@str varchar(1000))
as
  exec('select * from tb '+@str)

exec pr_name ' where id=xx and name=xxx'
执行这句 引号里还有引号时报错!

------解决方案--------------------
'' 2个引号作为转义
------解决方案--------------------
SQL code
create proc pr_name 
as
declare @sql varchar(1000)
set @sql='where id=xx and name=xxx'
select @sql='select * from tb'+@sql 
exec(@sql)

exec pr_name

------解决方案--------------------
探讨
我试出来了里面的用""括起来就行了,可以'select * from tb '这句太长它就报错了

------解决方案--------------------
探讨
好的,我试试,还有啊,连的语句里也有引号,也要用双引号吗