sql - SQL:如何在 SQL 数据库中创建触发器以更新上次修改日期列
问题描述
当另一列被修改时,我需要使用日期戳更新数据库列。
例如,当数据库规格表原理图列Partstatusid
更改时,需要更新标记。
我读过我需要创建一个触发器,但由于我的技能集完全是基于 SQL 报告的编写和查询,所以我不是 100% 的代码......
非常感谢。
解决方案
由于您没有提供 DBMS,我将提供两个选项,一个MS SQL Server
用于Oracle
. 如果您需要除此之外的其他内容,请指定您正在使用的 DBMS。
对于 MS SQL 服务器:
CREATE TRIGGER tiu_data_table
ON dbo.data_table
AFTER INSERT, UPDATE
AS
BEGIN
IF UPDATE(Partstatusid)
BEGIN
UPDATE dbo.data_table
SET last_updated = GETDATE()
WHERE id_col IN (SELECT id_col FROM Inserted)
END
END
对于甲骨文:
CREATE OR REPLACE TRIGGER tiu_data_table
BEFORE INSERT OR UPDATE ON "schema_name".data_table FOR EACH ROW
DECLARE
BEGIN
IF UPDATING('Partstatusid') THEN
:NEW.last_updated := SYSDATE;
END IF;
END;
/
推荐阅读
- python - Python程序按顺序获取列表的子集
- powerbi - 如何在没有 Pro PBI 的情况下使用带有报表服务器的 PowerBi 高级 P1 共享报表
- javascript - 为什么 {...window}.Math 未定义?
- python - Python Dash 如何创建两列表?
- javascript - 在 Javascript 中创建灵活的联系人数据库 - 添加、删除和查找联系人
- node.js - CSS 未在所有使用 express-handlebars 的路线上呈现
- spring-boot - 反应式 Spring WebClient 调用
- python - 用python操作matlab文件
- html - CSS 在 HTML 文件中不起作用 - 潜在的浏览器问题?
- java - 如何在加载到 ImageView 之前调整图像大小以避免 OOM 问题