关于SQL参数 带单引号的问题

迈克齐 2014-11-16 04:28:31
我有一条SQL语句,想把它放到变量中,但是由于引号的问题困扰我很长时间了,所以我想询问一下高手们,这个问题该如何解决

我的语句:

declare @a as nvarchar(50)
set @a='8c4af668-f81f-43e6-9bc4-8d06e2074282'
set @sql='insert into VehicleApply (Id,ApplyPerson,ApplyUnit,WBSCenter,FCNumber,GoTime,PassengersNum,purpose,CarContacts,ContactNumber,ApplyDate,Route,Sign,CTime) values (@a,''[admin]'',''asdf'',''adsf'',''11'',GETDATE(),11,''asdf'',''陈师傅'',''13313313131'',GETDATE(),''接人'',''0'',GETDATE())'

exec sp_executesql @sql


正常的SQL语句

insert into VehicleApply (Id,ApplyPerson,ApplyUnit,WBSCenter,FCNumber,GoTime,PassengersNum,purpose,CarContacts,ContactNumber,ApplyDate,Route,Sign,CTime) values (@a,'[admin]','asdf','adsf','11',GETDATE(),11,'asdf','陈师傅','13313313131',GETDATE(),'接人','0',GETDATE())


第一部分的语句有问题

第二部分的就没问题

是不是在于引号的问题?
...全文
606 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
还在加载中灬 2014-11-17
  • 打赏
  • 举报
回复
动态执行时,并没传入变量@a当然通不过咯 楼主有空可以好好了解一下 http://www.51testing.com/html/46/n-223846.html
舞台中央的我 2014-11-17
  • 打赏
  • 举报
回复
exec和sp_executesql是有区别的 学习了下 这个 有收获
江南小鱼 2014-11-16
  • 打赏
  • 举报
回复
第一部分改成

declare @a as nvarchar(50)
	,@sql varchar(2000)
set @a='8c4af668-f81f-43e6-9bc4-8d06e2074282'
set @sql='insert into VehicleApply (ID,ApplyPerson,ApplyUnit,WBSCenter,FCNumber,GoTime,PassengersNum,purpose,CarContacts,ContactNumber
	,ApplyDate,Route,Sign,CTime) values ('''+@a+''',''[admin]'',''asdf'',''adsf'',''11'',GETDATE(),11,''asdf'',''陈师傅'',''13313313131'',GETDATE(),''接人'',''0'',GETDATE())'
print @sql

exec(@sql)

exec和sp_executesql是有区别的!
tao82274559 2014-11-16
  • 打赏
  • 举报
回复
@a是参数 要么再传参一次 :exec sp_executesql @sql ,N'@a nvarchar(50)',@a 要么直接字符串拼接:set @sql='insert into VehicleApply (Id,ApplyPerson,ApplyUnit,WBSCenter,FCNumber,GoTime,PassengersNum,purpose,CarContacts,ContactNumber,ApplyDate,Route,Sign,CTime) values (‘+@a+’,''[admin]'',''asdf'',''adsf'',''11'',GETDATE(),11,''asdf'',''陈师傅'',''13313313131'',GETDATE(),''接人'',''0'',GETDATE())'

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧