diff --git a/content/docs-lite/zh/docs/SQLReference/CREATE-TRIGGER.md b/content/docs-lite/zh/docs/SQLReference/CREATE-TRIGGER.md index bab01557b49fb17c6062075fad6da3807eba9a56..0d8557d6e330e5291ec3b94aa64b40645b4e2d89 100644 --- a/content/docs-lite/zh/docs/SQLReference/CREATE-TRIGGER.md +++ b/content/docs-lite/zh/docs/SQLReference/CREATE-TRIGGER.md @@ -302,6 +302,17 @@ CREATE [ CONSTRAINT ] [ DEFINER=user ] TRIGGER [ IF NOT EXISTS ] trigger_name { +**触发器函数的返回值规则如下:** +- 语句级触发器:由语句级触发器调用的触发器函数应始终返回 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/ExtensionReference/dolphin-CREATE-TRIGGER.md b/content/zh/docs/ExtensionReference/dolphin-CREATE-TRIGGER.md index d641381fa6e9fd01157b47b48cc500ed9363b462..fc358efbf1a06c07201ff4ebf7d54e643a555335 100644 --- a/content/zh/docs/ExtensionReference/dolphin-CREATE-TRIGGER.md +++ b/content/zh/docs/ExtensionReference/dolphin-CREATE-TRIGGER.md @@ -309,6 +309,17 @@ CREATE [ CONSTRAINT ] [ DEFINER=user ] TRIGGER [ IF NOT EXISTS ] trigger_name { +**触发器函数的返回值规则如下:** +- 语句级触发器:由语句级触发器调用的触发器函数应始终返回 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/SQLReference/CREATE-TRIGGER.md b/content/zh/docs/SQLReference/CREATE-TRIGGER.md index f14e191b31f779cbe5c34d5a5651336fd5b2b940..ca65e3a8f209b7cf9cb4512e5d64154fbb27acd4 100644 --- a/content/zh/docs/SQLReference/CREATE-TRIGGER.md +++ b/content/zh/docs/SQLReference/CREATE-TRIGGER.md @@ -303,6 +303,18 @@ CREATE [ CONSTRAINT ] [ DEFINER=user ] TRIGGER [ IF NOT EXISTS ] trigger_name { +**触发器函数的返回值规则如下:** +- 语句级触发器:由语句级触发器调用的触发器函数应始终返回 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。 + ## 示例 ```