第二种,生成的是这样语句,是固定的,所以不会报错的:declare @Sql varchar(2000) declare @Col varchar(50) set @Col='ThreeHoleMap'set @Sql='update Bs_ProjectDesSchedulePlanChild set '+@Col+'=GETDATE()'-------2 --exec(@Sql)select @Sql /* update Bs_ProjectDesSchedulePlanChild set ThreeHoleMap=GETDATE() */
这是查询的例子,update的你自己修改一下declare @sql varchar(1000) set @sql='' select @sql=@sql+'+isnull('+name+',0)' from syscolumns where id=object_id('表名') and xtype=56 --56表示整型 set @sql=stuff(@sql,1,1,'')
print ('select '+@sql+' from 表名') exec ('select '+@sql+' from 表名')
declare @Col varchar(50)
set @Col='ThreeHoleMap'set @Sql='update Bs_ProjectDesSchedulePlanChild set '+@Col+'=GETDATE()'-------2
--exec(@Sql)select @Sql
/*
update Bs_ProjectDesSchedulePlanChild set ThreeHoleMap=GETDATE()
*/
set @sql=''
select @sql=@sql+'+isnull('+name+',0)'
from syscolumns
where id=object_id('表名') and xtype=56 --56表示整型
set @sql=stuff(@sql,1,1,'')
print ('select '+@sql+' from 表名')
exec ('select '+@sql+' from 表名')