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

SQL2000 参数太长了,该如何解决

2012-04-09 
SQL2000 参数太长了Declare @CommandVarchar(2000)SET @PN80+@PN80+SET @PN80replace(@PN80,,

SQL2000 参数太长了
Declare @Command Varchar(2000) 
SET @PN80=''''+@PN80+''''
SET @PN80=replace(@PN80,',',''',''')
SET @Command='SELECT Customer,PN80,PN AS PN52,Dosage as Usage,Flow,Line,Hours,OutPutQty FROM HOURSSMT WHERE PN80 IN ('+@PN80+')'
EXEC(@Command)

这个@PN80有时候会非常的长,也就是字符串很长,这条SQL语句就报错了,不知道有什么解决办法呢,

[解决办法]
Declare @Command Varchar(8000) SET @PN80=''''+@PN80+''''
SET @PN80=replace(@PN80,',',''',''')
SET @Command='SELECT Customer,PN80,PN AS PN52,Dosage as Usage,Flow,Line,Hours,OutPutQty FROM HOURSSMT WHERE PN80 IN ('+@PN80+')'
EXEC(@Command)


[解决办法]

MSSQL2000不能那么写,的分开
@PN80 VARCHAR(MAX)
set @PN80=''
2008当中可以你那么写

探讨

引用:
给他设为varchar(max)试试,不够的话就换类型


引用:
Declare @Command Varchar(2000)
SET @PN80=''''+@PN80+''''
SET @PN80=replace(@PN80,',',''',''')
SET @Command='SELECT Cu……

热点排行