--字段多吗?不多就可以这么写啊。
update
Archives_Vehicle
set
yyh=ltrim(rtrim(yyh)),
A=ltrim(rtrim(A),
A=ltrim(rtrim(B),
...
update
Archives_Vehicle
set
yyh=ltrim(rtrim(yyh)),
A=ltrim(rtrim(A),
A=ltrim(rtrim(B),
...
原来他们设计程序时,用的char字段,现在改成varchar字段.就出现了这个问题了
set @T_SQL=''
select @T_SQL=@T_SQL + name +'=ltrim(rtrim('+ name + ')),' from syscolumns where id=object_id('Archives_Vehicle')
set @T_SQL = 'update Archives_Vehicle set ' + left(@T_SQL,len(@T_SQL)-1)
exec (@T_SQL)
服务器: 消息 8102,级别 16,状态 1,行 1
无法更新标识列 'id'。
DECLARE @T_SQL varchar(8000)
set @T_SQL=''
select @T_SQL=@T_SQL + name +'=ltrim(rtrim('+ name + ')),' from syscolumns where id=object_id('Archives_Vehicle') and name <> 'id'
set @T_SQL = 'update Archives_Vehicle set ' + left(@T_SQL,len(@T_SQL)-1)
exec (@T_SQL)
DECLARE @T_SQL varchar(8000)
set @T_SQL=''
select @T_SQL=@T_SQL + name +'=ltrim(rtrim('+ name + ')),' from syscolumns where id=object_id('Archives_Vehicle') and name <> 'id'
set @T_SQL = 'update Archives_Vehicle set ' + left(@T_SQL,len(@T_SQL)-1)
print @T_SQL把这个打印出来的SQL 语句放在查询分析器里
然后你把那些不是 字符串的字段踢出去
然后在执行这条SQL 就可以了啊!!