将要执行的语句用@sql变量拼出来,然后用sp_executesql执行之。
如:
... ...
set @colname=N'Z' + datepart(m,getdate())
set @sql=N'update [table] set ' + @colname + N'=' + @YourData
exec sp_executesql
... ...
如:
... ...
set @colname=N'Z' + datepart(m,getdate())
set @sql=N'update [table] set ' + @colname + N'=' + @YourData
exec sp_executesql
... ...
解决方案 »
- 姓名,日期,品种,数量,金额王列,把每行品种改为两列,品种数和品种金额
- 怎么更新这个表?多谢了
- 英文版sql server 2000数据库 插入中文乱码
- 存储过程中应用in
- 装sql server2000时提示command line option syntax error!type command /? for help怎么办??
- 怎样能查出表中大小写相同的重复记录,表的排序规则是区分大小写的,我现在想把大小写相同的查出来.
- 如何选出某个表的某一行数据?
- MS SERVER 事务回滚
- select IDENTITY 问题,急!!!(100分)
- 关于SQL server 7.0 数据迁移的问题
- 想sum字符串如何解决
- help me!
DECLARE @RQ DATETIME,@M INT,@SQL VARCHAR(1000)
SET @M=MONTH(@RQ)
SET @SQL = 'UPDATE TABLENAME SET '+ 'Z'+RIGHT('00'+CAST(@M AS VARCHAR(2)),2) +'= WHERE ...'
EXEC (@SQL)
set @sql='update yourtable set ' + @colname + '=''' + @YourData +''''
exec (@sql)
DECLARE @M INT,@SQL VARCHAR(1000)
SET @M=MONTH(GETDATE())
SET @SQL = 'UPDATE TABLENAME SET '+ 'Z'+RIGHT('00'+CAST(@M AS VARCHAR(2)),2) +' = WHERE ...'
EXEC (@SQL)