读书人

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

发布时间: 2012-01-11 22:28:46 作者: rapoo

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

读书人网 >SQL Server

热点推荐