当前位置: 代码迷 >> Sql Server >> 初学者关于语法的简单有关问题
  详细解决方案

初学者关于语法的简单有关问题

热度:49   发布时间:2016-04-27 20:23:01.0
菜鸟关于语法的简单问题
CREATE   PROC   CD_UpPic
@ID   int,
@PicType   varchar(20),
@PicName   varchar(200)
AS
declare   @sqlStr   nvarchar(2000)
set   @sqlStr= 'UPDATE   CD   Set   '+Cast(@PicType   as   varchar)+ '   =   '+Cast(isnull(@PicName, 'NULL ')   as   varchar)+ '   Where   ID   =   '+Cast(@ID   as   varchar)+ ' '
print   @sqlStr
EXECUTE   sp_executesql   @sqlStr
GO

PRINT的结果如下:
UPDATE   CD   Set   Pic_Index   =   Pic_Index_967.gif   Where   ID   =   967  
怎么给Pic_Index_967.gif   加上引号啊??

------解决方案--------------------
CREATE PROC CD_UpPic
@ID int,
@PicType varchar(20),
@PicName varchar(200)
AS
declare @sqlStr nvarchar(2000)
set @sqlStr= 'UPDATE CD Set '+Cast(@PicType as varchar)+ ' = ' ' '+Cast(isnull(@PicName, 'NULL ') as varchar)+ ' ' ' Where ID = '+Cast(@ID as varchar)+ ' '
print @sqlStr
EXECUTE sp_executesql @sqlStr
GO
  相关解决方案