日期:2014-05-16  浏览次数:20573 次

如何批量更新一个mssql数据库中所有表的时间字段为当前日期?
 一个数据库,很多个表,需要批量更新所有表的datetime值为当前时间。

怎么写sql语句一次搞定?
------解决方案--------------------
根据系统表来处理,找到字段类型为datetime的字段名和表名,拼接动态sql语句,然后执行。
------解决方案--------------------
引用:
Quote: 引用:

根据系统表来处理,找到字段类型为datetime的字段名和表名,拼接动态sql语句,然后执行。
 有没有更详细点的资料,比如demo



SELECT  'update '+OBJECT_NAME(object_id)+' set '+name +'= getdate()'
FROM    sys.columns B
WHERE   system_type_id = 61
        AND EXISTS ( SELECT 1
                     FROM   sys.tables A
                     WHERE  A.object_id = B.object_id )


参考


------解决方案--------------------
1楼的意思是通过select * from sys.objects where type='U' 找到所有的用户表,然后用游标遍历,判断该表中是否有日期的字段,再进行批量更新,你可以按照这个思路写个存储过程。