-- SQL查询所有表最近一分钟的修改情况
SELECT
OBJECT_NAME(object_id) AS TableName,
last_user_update AS LastUpdateTime,
last_user_seek AS LastSeekTime,
last_user_scan AS LastScanTime,
last_user_lookup AS LastLookupTime,
CASE
WHEN last_user_update >= DATEADD(MINUTE, -1, GETDATE()) THEN '有修改'
ELSE '无修改'
END AS RecentModification
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID()
AND OBJECT_NAME(object_id) IS NOT NULL
AND last_user_update >= DATEADD(MINUTE, -1, GETDATE())
ORDER BY last_user_update DESC;
---更新表单锁定状态
CREATE TRIGGER [dbo].[更新产品档案的锁定状态]
ON [dbo].[tabDIYTable10536]
AFTER INSERT, UPDATE
AS
BEGIN
SET NOCOUNT ON;
-- 只更新发生变化的记录
UPDATE t
SET t.F110681 = dbo.SD_bLocked(t.bLocked)
FROM [dbo].[tabDIYTable10536] t
INNER JOIN inserted i ON t.FID = i.FID -- 假设FID是主键
WHERE t.F110681 <> dbo.SD_bLocked(t.bLocked) -- 只有值真正变化时才更新
OR t.F110681 IS NULL;
END
-----创建1为勾0为叉的标题值函数
CREATE FUNCTION [dbo].[SD_bLocked]
(
@bLocked INT
)
RETURNS NVARCHAR(10)
AS
BEGIN
RETURN CASE
WHEN @bLocked = 1 THEN N'√'
ELSE N'×'
END
END
