Interbase SQL 触发器
Interbase SQL trigger
Interbase,Sql,触发器。无法真正理解如何编写这种触发器:我有几个 tables。每一个都有一个文档类型、状态和一个唯一的编号。我希望在其中创建触发器的一个 table 是一个 table,它包含一个文件 i post,状态为 posting,文档类型对应于 table 和链接到相应 table 中记录的唯一编号。我想根据唯一编号将相应 table 中的文档状态更改为特定状态,具体取决于我在 posting 后更改的 post 结果(状态)。我该怎么做?
触发器 T1
将在 TABLE1
更新后执行。
触发器检查 TABLE1.StatusOfPosting
是否更改为某个值并根据结果更新 TABLE2.DocumentStatus
。
根据业务逻辑,您可能需要 BEFORE DELETE
触发器。
CREATE TRIGGER T1 FOR TABLE1 AFTER UPDATE POSITION 0
AS
BEGIN
IF (NEW.StatusOfPosting <> OLD.StatusOfPosting and NEW.StatusOfPosting=1) THEN
UPDATE TABLE2
SET TABLE2.DocumentStatus=1
WHERE TABLE2.UniqueNumber = TABLE1.UniqueNumber;
END
Interbase,Sql,触发器。无法真正理解如何编写这种触发器:我有几个 tables。每一个都有一个文档类型、状态和一个唯一的编号。我希望在其中创建触发器的一个 table 是一个 table,它包含一个文件 i post,状态为 posting,文档类型对应于 table 和链接到相应 table 中记录的唯一编号。我想根据唯一编号将相应 table 中的文档状态更改为特定状态,具体取决于我在 posting 后更改的 post 结果(状态)。我该怎么做?
触发器 T1
将在 TABLE1
更新后执行。
触发器检查 TABLE1.StatusOfPosting
是否更改为某个值并根据结果更新 TABLE2.DocumentStatus
。
根据业务逻辑,您可能需要 BEFORE DELETE
触发器。
CREATE TRIGGER T1 FOR TABLE1 AFTER UPDATE POSITION 0
AS
BEGIN
IF (NEW.StatusOfPosting <> OLD.StatusOfPosting and NEW.StatusOfPosting=1) THEN
UPDATE TABLE2
SET TABLE2.DocumentStatus=1
WHERE TABLE2.UniqueNumber = TABLE1.UniqueNumber;
END