diff --git a/doc/src/sgml/ref/create_rule.sgml b/doc/src/sgml/ref/create_rule.sgml index 05d2e668a9..cd89b739fb 100644 --- a/doc/src/sgml/ref/create_rule.sgml +++ b/doc/src/sgml/ref/create_rule.sgml @@ -1,5 +1,5 @@ @@ -171,12 +171,14 @@ CREATE two rules have the same semantics: ON UPDATE TO emp.salary WHERE emp.name = "Joe" - DO UPDATE emp ( ... ) WHERE ... + DO + UPDATE emp ( ... ) WHERE ... ON UPDATE TO emp-1.salary WHERE emp-2.name = "Joe" - DO UPDATE emp-3 ( ... ) WHERE ... + DO + UPDATE emp-3 ( ... ) WHERE ... Each rule can have the optional tag INSTEAD. @@ -203,13 +205,15 @@ ON UPDATE TO emp-1.salary WHERE emp-2.name = "Joe" CREATE RULE bad_rule_combination_1 AS ON SELECT TO emp - DO INSTEAD SELECT TO toyemp; + DO INSTEAD + SELECT TO toyemp; CREATE RULE bad_rule_combination_2 AS ON SELECT TO toyemp - DO INSTEAD SELECT TO emp; + DO INSTEAD + SELECT TO emp; This attempt to retrieve from EMP will cause @@ -257,8 +261,10 @@ SELECT * FROM emp; CREATE RULE example_1 AS ON UPDATE emp.salary WHERE current.name = "Joe" - DO UPDATE emp (salary = new.salary) - WHERE emp.name = "Sam"; + DO + UPDATE emp + SET salary = new.salary + WHERE emp.name = "Sam"; At the time Joe receives a salary adjustment, the event @@ -275,8 +281,9 @@ CREATE RULE example_2 AS ON SELECT TO EMP.salary WHERE current.name = "Bill" DO INSTEAD - SELECT (emp.salary) from emp - WHERE emp.name = "Joe"; + SELECT emp.salary + FROM emp + WHERE emp.name = "Joe"; @@ -285,8 +292,9 @@ CREATE RULE example_2 AS the current user): CREATE RULE example_3 AS - ON SELECT TO emp.salary - WHERE current.dept = "shoe" AND current_user = "Joe" + ON + SELECT TO emp.salary + WHERE current.dept = "shoe" AND current_user = "Joe" DO INSTEAD NOTHING; @@ -298,7 +306,8 @@ CREATE toyemp(name = char16, salary = int4); CREATE RULE example_4 AS ON SELECT TO toyemp DO INSTEAD - SELECT (emp.name, emp.salary) FROM emp + SELECT (emp.name, emp.salary) + FROM emp WHERE emp.dept = "toy"; @@ -307,7 +316,8 @@ CREATE RULE example_4 AS CREATE RULE example_5 AS ON INERT TO emp WHERE new.salary > 5000 - DO UPDATE NEWSET salary = 5000; + DO + UPDATE NEWSET salary = 5000;