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

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

2012-01-11 
菜鸟关于语法的简单问题CREATEPROCCD_UpPic@IDint,@PicTypevarchar(20),@PicNamevarchar(200)ASdeclare@sq

菜鸟关于语法的简单问题
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

热点排行