怎么批量更新一个mssql数据库中所有表的时间字段为当前日期
如何批量更新一个mssql数据库中所有表的时间字段为当前日期?
一个数据库,很多个表,需要批量更新所有表的datetime值为当前时间。
怎么写sql语句一次搞定?
------解决方案--------------------
根据系统表来处理,找到字段类型为datetime的字段名和表名,拼接动态sql语句,然后执行。
------解决方案--------------------
参考
------解决方案--------------------
1楼的意思是通过select * from sys.objects where type='U' 找到所有的用户表,然后用游标遍历,判断该表中是否有日期的字段,再进行批量更新,你可以按照这个思路写个存储过程。
一个数据库,很多个表,需要批量更新所有表的datetime值为当前时间。
怎么写sql语句一次搞定?
------解决方案--------------------
根据系统表来处理,找到字段类型为datetime的字段名和表名,拼接动态sql语句,然后执行。
------解决方案--------------------
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' 找到所有的用户表,然后用游标遍历,判断该表中是否有日期的字段,再进行批量更新,你可以按照这个思路写个存储过程。