gpt4 book ai didi

sql - sys.objects 中的 CreateDate 和 ModifyDate 究竟是什么

转载 作者:行者123 更新时间:2023-12-02 17:46:03 26 4
gpt4 key购买 nike

我继承了以下管理查询并时常运行它,完全理解它返回的是什么:

--Loop until the Cursor was not able to fetch
WHILE (@@Fetch_Status >= 0)
BEGIN
--Dump the results of the sp_spaceused query to the temp table
INSERT #TempTable
EXEC sp_spaceused @TableName

--Get the next table name
FETCH NEXT FROM tableCursor INTO @TableName
END

--get rid of the Cursor
CLOSE tableCursor
DEALLOCATE tableCursor



--Select TABLE properties with SIZE -- Final step
SELECT name,
convert(date,create_date) as CreateDate,
convert(date,modify_date) as ModifyDate,
numberofRows,
dataSize

FROM sys.objects
join #temptable tm on
tm.tablename = sys.objects.name
WHERE type in ('U')

order by modify_date
GO

以下字段是什么?

  1. “create_date” ...我猜是什么时候运行“CREATE TABLE ...”
  2. “modify_date” ...这是上次更改表架构的时间吗?

它们中的任何一个是否告诉我上次数据是 DELETEDINSERTED 到表中的时间?
如果没有,那么我如何获得这些信息?

最佳答案

什么 BOL

modify date - Date the object was last modified by using an ALTER statement. If the object is a table or a view, modify_date also changes when a clustered index on the table or view is created or altered.

所以这是有人添加列或更改表架构的时刻

默认情况下不存储信息(当有人插入/删除值时)

如果你想要有人在表中插入一个值的时间,你必须实现它您可以将 ChangeDate datetime 列添加到您的表中,并添加触发器以插入适当的值,但当数据被删除时它不会保留

如果您想记录数据更改,通常可以通过创建与您要记录的表类似的表来实现它,添加像“DataChange、operation、user”这样的列并为 UPDATE、INSERT、DELETE 实现 DML 触发器

或者使用sql server change data来跟踪数据变化,但我个人从未使用过那个:)

关于sql - sys.objects 中的 CreateDate 和 ModifyDate 究竟是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14396750/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com