/ / Rule mit mehreren Befehlen - sql, postgresql

REGEL mit mehreren Befehlen - sql, postgresql

Ich kann nicht herausfinden, wie man mehrere Befehle für eine Regel spezifiziert.
Entsprechend der DokumentationDie Syntax zum Erstellen einer Regel lautet:

CREATE [ OR REPLACE ] RULE name AS ON event
TO table [ WHERE condition ]
DO [ ALSO | INSTEAD ] { NOTHING | command | ( command ; command ... ) }

Gemäß dieser Definition habe ich versucht, die folgende Regel zu erstellen:

CREATE TABLE "test" (
"b" boolean NULL
);

-

CREATE OR REPLACE RULE test AS
ON UPDATE TO test DO INSTEAD
(
INSERT INTO test (b) SELECT FALSE;
INSERT INTO test (b) SELECT FALSE;
)

Was jedoch passiert, ist sehr seltsam - diese Abfrage kann die erste Einfügung nicht analysieren, die sich darüber beschwert Syntaxfehler am Ende der Eingabe LINIE 4: INSERT INTO test (b) SELECT FALSE, führt aber gleichzeitig den Rest der Abfrage aus und erstellt daher eine Regel mit nur einem Befehl zum Einfügen falsch.

Hinweise: Meine Version ist 9.0 und ich habe nirgendwo ein einziges Beispiel für eine Multibefehlsregel gefunden.

Also, wie definiere ich mehrere Befehle für eine Regel richtig? Ist es überhaupt möglich?

Antworten:

1 für die Antwort № 1

Laut Kommentar liegt das Problem in dem Datenbankverwaltungstool, das ich verwendet habe - Admin.
Es schneidet / verdirbt die Abfrage irgendwie, so dass Sie nicht mehr als einen Befehl in einer Regel erstellen können.

Beachten Sie, dass dieser Fehler auch in der (aktuellsten) Version 3.7.1 vorhanden ist.

Vielen Dank a_horse_with_no_name, um mir bei der Lösung dieses Problems zu helfen.