From 5f7c423059b5e6e6f508fbea6164aa752aedb3a0 Mon Sep 17 00:00:00 2001 From: lukeman Date: Mon, 24 Feb 2025 18:03:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=B5=84=E6=96=99=E8=AF=B4?= =?UTF-8?q?=E6=98=8E=E8=A7=A6=E5=8F=91=E5=99=A8=E5=87=BD=E6=95=B0=E7=9A=84?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E5=80=BC=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ExtensionReference/dolphin-CREATE-TRIGGER.md | 11 +++++++++++ .../docs-lite/zh/docs/SQLReference/CREATE-TRIGGER.md | 11 +++++++++++ .../ExtensionReference/dolphin-CREATE-TRIGGER.md | 11 +++++++++++ content/zh/docs/SQLReference/CREATE-TRIGGER.md | 12 ++++++++++++ 4 files changed, 45 insertions(+) diff --git a/content/docs-lite/zh/docs/ExtensionReference/dolphin-CREATE-TRIGGER.md b/content/docs-lite/zh/docs/ExtensionReference/dolphin-CREATE-TRIGGER.md index 131a39b23..9f55b3f9c 100644 --- a/content/docs-lite/zh/docs/ExtensionReference/dolphin-CREATE-TRIGGER.md +++ b/content/docs-lite/zh/docs/ExtensionReference/dolphin-CREATE-TRIGGER.md @@ -310,6 +310,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/docs-lite/zh/docs/SQLReference/CREATE-TRIGGER.md b/content/docs-lite/zh/docs/SQLReference/CREATE-TRIGGER.md index e5288f42f..b549b3b10 100644 --- a/content/docs-lite/zh/docs/SQLReference/CREATE-TRIGGER.md +++ b/content/docs-lite/zh/docs/SQLReference/CREATE-TRIGGER.md @@ -303,6 +303,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 131a39b23..9f55b3f9c 100644 --- a/content/zh/docs/ExtensionReference/dolphin-CREATE-TRIGGER.md +++ b/content/zh/docs/ExtensionReference/dolphin-CREATE-TRIGGER.md @@ -310,6 +310,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 0b69588ae..1ab468522 100644 --- a/content/zh/docs/SQLReference/CREATE-TRIGGER.md +++ b/content/zh/docs/SQLReference/CREATE-TRIGGER.md @@ -304,6 +304,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。 + ## 示例 ``` -- Gitee