我有一个包含40个表的数据库。所以我想找到在特定日期修改的表格,例如
- 在我的数据库中
20 Aug 2011
修改了多少个表?
更新
请注意,我需要表名而不是记录ID
就像其内容在20 Aug 2011
上被修改的表的名称一样
已编辑:@Damien_The_Unbeliever对他的评论有很好的看法。我的答案只与表结构有关,与内部数据无关。如果要验证数据何时更改,则需要添加一个updated_date
列,以便可以查询它并查找修改时间。
使用目录视图,尤其是sys.tables
DECLARE @auxDate datetime = '20120820 00:00:00'
SELECT tbl.name
FROM sys.tables tbl
WHERE modify_date = @auxDate
修改为显示表名。我有WHERE modify_date >= @auxDate
,但您希望在特定日期修改表名,因此更新了 WHERE
子句以显示一天
在数据修改的情况下,
Alter table tablename add datemodified timestamp
select count(*) from tablename where datemodified = @yourdate