]> granicus.if.org Git - postgresql/commitdiff
Update rule examples
authorBruce Momjian <bruce@momjian.us>
Fri, 7 Apr 2000 17:35:08 +0000 (17:35 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 7 Apr 2000 17:35:08 +0000 (17:35 +0000)
doc/src/sgml/ref/create_rule.sgml

index 05d2e668a9a8474d0fdf8858b23a85012c1cd55d..cd89b739fbe58430e5ef3c8aca9cc9fc382c90fd 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_rule.sgml,v 1.11 2000/04/07 17:23:11 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_rule.sgml,v 1.12 2000/04/07 17:35:08 momjian Exp $
 Postgres documentation
 -->
 
@@ -171,12 +171,14 @@ CREATE
     two rules have the same semantics:
     <programlisting>
 ON UPDATE TO emp.salary WHERE emp.name = "Joe"
-    DO UPDATE emp ( ... ) WHERE ...
+    DO 
+       UPDATE emp ( ... ) WHERE ...
     </programlisting>
 
     <programlisting>
 ON UPDATE TO emp-1.salary WHERE emp-2.name = "Joe"
-    DO UPDATE emp-3 ( ... ) WHERE ...
+    DO 
+       UPDATE emp-3 ( ... ) WHERE ...
     </programlisting>
 
     Each rule can have the optional tag INSTEAD.
@@ -203,13 +205,15 @@ ON UPDATE TO emp-1.salary WHERE emp-2.name = "Joe"
      <programlisting>
 CREATE RULE bad_rule_combination_1 AS
     ON SELECT TO emp
-    DO INSTEAD SELECT TO toyemp;
+    DO INSTEAD 
+       SELECT TO toyemp;
      </programlisting>
 
      <programlisting>
 CREATE RULE bad_rule_combination_2 AS
     ON SELECT TO toyemp
-    DO INSTEAD SELECT TO emp;
+    DO INSTEAD 
+       SELECT TO emp;
      </programlisting>
      <para>
       This attempt to retrieve from EMP will cause
@@ -257,8 +261,10 @@ SELECT * FROM emp;
    <programlisting>
 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";
    </programlisting>
 
    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";
    </programlisting>
   </para>
   <para>
@@ -285,8 +292,9 @@ CREATE RULE example_2 AS
    the current user):
    <programlisting>  
 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;
    </programlisting>
   </para>
@@ -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";
    </programlisting>
   </para>
@@ -307,7 +316,8 @@ CREATE RULE example_4 AS
    <programlisting>
 CREATE RULE example_5 AS
     ON INERT TO emp WHERE new.salary > 5000
-    DO UPDATE NEWSET salary = 5000;
+    DO 
+       UPDATE NEWSET salary = 5000;
    </programlisting>
   </para>
  </refsect1>