就是不能这样写
update A set Name='张三'
update B set Name='张三'
update C set Name='张三'
update D set Name='张三'
update E set Name='张三'
update E set Name='张三'
要改为一个语句
update @TableName set Name='张三'
update A set Name='张三'
update B set Name='张三'
update C set Name='张三'
update D set Name='张三'
update E set Name='张三'
update E set Name='张三'
要改为一个语句
update @TableName set Name='张三'
SET @sql = 'update '+@TableName+' set Name=''张三'''
EXEC(@sql)
DECLARE @sql varchar(max)
SET @sql = 'update '+@TableName+' set Name=''张三'''
EXEC(@sql)
DECLARE @sql varchar(max)
SET @sql = 'update '+@TableName+' set Name=''张三'''
EXEC(@sql)
FROM testEXEC(@sql)
SELECT @sql = ISNULL(@sql,'')+'update '+TableName+' set Name=''张三'';'
FROM test
EXEC(@sql)
这个怎么循环呢 好像不能循环表名把 TableName你是从哪来的
你用 PRINT @sql,看看拼出来的语句。
SELECT @sql = ISNULL(@sql,'')+'update '+TableName+' set Name=''张三'';'
FROM test
EXEC(@sql)
DECLARE @sql varchar(max)
set @Sannianfu='968D0714-629E-4884-86B1-EEC3436E508F' --三年付
SELECT @sql = ISNULL(@sql,'')+'update '+TableName+' set
Next_Pay_Month=
(
case when PayType_Code=@Sannianfu then dateadd(month,36,Next_Pay_Month) else '' end
) ;' FROM Product_TableList
EXEC(@sql)PRINT @sql我试了下 没问题 还有个问题是 我要把Name=''张三'' 换成带声明变量的参数 说没有@Sannianfu 声明 上面不是有吗
Next_Pay_Month=
(
case when PayType_Code='''+@Sannianfu+''' then dateadd(month,36,Next_Pay_Month) else '' end
) ;'
FROM Product_TableList