sql-server – 如何在Sql Server 2005上获取最后一次插入/更新/
发布时间:2021-01-25 19:56:11 所属栏目:MsSql教程 来源:网络整理
导读:不是 my previous question的副本 当表/数据库在Sql Server 2005上有插入/更新/删除时,有没有办法获得最新的日期时间?最好不要创建触发器.. 我知道当你需要每行最后一次更新时,你需要触发器.但是我不确定当你想要获得整个表的最后一次更新时是否需要它们. 解
|
不是 my previous question的副本 当表/数据库在Sql Server 2005上有插入/更新/删除时,有没有办法获得最新的日期时间?最好不要创建触发器.. 我知道当你需要每行最后一次更新时,你需要触发器.但是我不确定当你想要获得整个表的最后一次更新时是否需要它们. 解决方法您可以轻松获取上次插入/更新/删除的日期,如下所示:CREATE FUNCTIOn fn_TablesLastUpdateDate(@Date NVARCHAR(20))
RETURNS @table TABLE(TableName NVARCHAR(40),LastUpdated Datetime)
AS
BEGIN
IF(@Date='') OR (@Date Is Null) OR (@Date='0')
BEGIN
INSERT INTO @table
SELECT TOP 100 PERCENT TABLENAME,LASTUPDATED FROM
(
SELECT B.NAME AS 'TABLENAME',MAX(STATS_DATE (ID,INDID)) AS LASTUPDATED
FROM SYS.SYSINDEXES AS A
INNER JOIN SYS.OBJECTS AS B ON A.ID = B.OBJECT_ID
WHERE B.TYPE = 'U' AND STATS_DATE (ID,INDID) IS NOT NULL
GROUP BY B.NAME
) AS A
ORDER BY LASTUPDATED DESC
END
ELSE
BEGIN
INSERT INTO @table
SELECT TOP 100 PERCENT TABLENAME,INDID)) AS LASTUPDATED,CONVERT(VARCHAR,INDID)),103) as Date
FROM SYS.SYSINDEXES AS A
INNER JOIN SYS.OBJECTS AS B ON A.ID = B.OBJECT_ID
WHERE B.TYPE = 'U' AND STATS_DATE (ID,INDID) IS NOT NULL
GROUP BY B.NAME
) AS A
WHERE Date=@Date
ORDER BY LASTUPDATED DESC
END
RETURN
END
-- SELECT * from fn_TablesLastUpdateDate('06/11/2012') (编辑:天瑞地安资讯网_黄海网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Symfony2(WebsocketBundle) – 简单的私有(和组)聊天数据库
- sql-server – 对表的大改动有什么好处:每次DELETE和INSER
- sql – 出生日期的CHECK约束?
- 从一列复制到另一列(不同的表相同的数据库)mysql
- .net – 针对数据库表实现具有多个可选参数的搜索功能
- couchdb – PouchDB:多个远程数据库,单个本地数据库(花式复
- sql替换语句怎样做批量数据管理操作?
- 检查数据库MySQL PHP中是否已存在用户名
- 数据库设计 – 轮询是从数据库更新应用程序数据的唯一方法吗
- alter table alter SQL的SQL Server性能更改数据类型
站长推荐
热点阅读


