diff --git a/content/docs-lite/zh/docs/Developerguide/CREATE-TRIGGER.md b/content/docs-lite/zh/docs/Developerguide/CREATE-TRIGGER.md index dfa8d02b8c6ac26a9030c8fea62e1343f2a7ca0d..129619050bf3f35f5a57374ee06e115b0ab6458a 100644 --- a/content/docs-lite/zh/docs/Developerguide/CREATE-TRIGGER.md +++ b/content/docs-lite/zh/docs/Developerguide/CREATE-TRIGGER.md @@ -262,6 +262,17 @@ CREATE [ CONSTRAINT ] TRIGGER trigger_name { BEFORE | AFTER | INSTEAD OF } { eve +**触发器函数的返回值规则如下:** +- 语句级触发器:由语句级触发器调用的触发器函数应始终返回 NULL。 +- 行级触发器: + - BEFORE 触发器: + - 返回 NULL,以跳过对当前行的操作(INTERT、UPDATE或DELETE)。注意:如上表2所述,变量NEW对DELETE为空,变量OLD对INTERT为空。 + - 对于行级 INSERT 和 UPDATE 触发器,返回的行将成为要插入或替换正在更新的行,允许触发器函数修改该行。 + - 不希望产生上述两种行为的行级 BEFORE 触发器,需返回传入的同一行(INSERT 和 UPDATE 触发器的 NEW 行,DELETE 触发器的 OLD 行)。 + - INSTEAD OF 触发器: + - 返回 NULL,表示未修改视图底层基表的数据。 + - 返回传入的视图行(INSERT 和 UPDATE 操作的 NEW 行,DELETE 操作的 OLD 行),非空返回值表示触发器在视图中执行了必要的数据修改,会使受命令影响的行数计数增加。对于 INSERT 和 UPDATE 操作,触发器可在返回 NEW 行前对其进行修改,以改变 INSERT RETURNING 或 UPDATE RETURNING 返回的数据。 + - AFTER 触发器:返回值会被忽略,可返回 NULL。 ## 示例 diff --git a/content/zh/docs/Developerguide/CREATE-TRIGGER.md b/content/zh/docs/Developerguide/CREATE-TRIGGER.md index 48b1a3baab4f0a8e92131b78e2956b0bc09ad851..49b5ad27b3abec926b0e2d2cd10df0af7c577bb5 100644 --- a/content/zh/docs/Developerguide/CREATE-TRIGGER.md +++ b/content/zh/docs/Developerguide/CREATE-TRIGGER.md @@ -265,6 +265,17 @@ CREATE [ CONSTRAINT ] TRIGGER trigger_name { BEFORE | AFTER | INSTEAD OF } { eve +**触发器函数的返回值规则如下:** +- 语句级触发器:由语句级触发器调用的触发器函数应始终返回 NULL。 +- 行级触发器: + - BEFORE 触发器: + - 返回 NULL,以跳过对当前行的操作(INTERT、UPDATE或DELETE)。注意:如上表2所述,变量NEW对DELETE为空,变量OLD对INTERT为空。 + - 对于行级 INSERT 和 UPDATE 触发器,返回的行将成为要插入或替换正在更新的行,允许触发器函数修改该行。 + - 不希望产生上述两种行为的行级 BEFORE 触发器,需返回传入的同一行(INSERT 和 UPDATE 触发器的 NEW 行,DELETE 触发器的 OLD 行)。 + - INSTEAD OF 触发器: + - 返回 NULL,表示未修改视图底层基表的数据。 + - 返回传入的视图行(INSERT 和 UPDATE 操作的 NEW 行,DELETE 操作的 OLD 行),非空返回值表示触发器在视图中执行了必要的数据修改,会使受命令影响的行数计数增加。对于 INSERT 和 UPDATE 操作,触发器可在返回 NEW 行前对其进行修改,以改变 INSERT RETURNING 或 UPDATE RETURNING 返回的数据。 + - AFTER 触发器:返回值会被忽略,可返回 NULL。 ## 示例