11<!--
2- $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_rule.sgml,v 1.11 2000/04/07 17:23:11 momjian Exp $
2+ $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_rule.sgml,v 1.12 2000/04/07 17:35:08 momjian Exp $
33Postgres documentation
44-->
55
@@ -171,12 +171,14 @@ CREATE
171171 two rules have the same semantics:
172172 <programlisting>
173173ON UPDATE TO emp.salary WHERE emp.name = "Joe"
174- DO UPDATE emp ( ... ) WHERE ...
174+ DO
175+ UPDATE emp ( ... ) WHERE ...
175176 </programlisting>
176177
177178 <programlisting>
178179ON UPDATE TO emp-1.salary WHERE emp-2.name = "Joe"
179- DO UPDATE emp-3 ( ... ) WHERE ...
180+ DO
181+ UPDATE emp-3 ( ... ) WHERE ...
180182 </programlisting>
181183
182184 Each rule can have the optional tag INSTEAD.
@@ -203,13 +205,15 @@ ON UPDATE TO emp-1.salary WHERE emp-2.name = "Joe"
203205 <programlisting>
204206CREATE RULE bad_rule_combination_1 AS
205207 ON SELECT TO emp
206- DO INSTEAD SELECT TO toyemp;
208+ DO INSTEAD
209+ SELECT TO toyemp;
207210 </programlisting>
208211
209212 <programlisting>
210213CREATE RULE bad_rule_combination_2 AS
211214 ON SELECT TO toyemp
212- DO INSTEAD SELECT TO emp;
215+ DO INSTEAD
216+ SELECT TO emp;
213217 </programlisting>
214218 <para>
215219 This attempt to retrieve from EMP will cause
@@ -257,8 +261,10 @@ SELECT * FROM emp;
257261 <programlisting>
258262CREATE RULE example_1 AS
259263 ON UPDATE emp.salary WHERE current.name = "Joe"
260- DO UPDATE emp (salary = new.salary)
261- WHERE emp.name = "Sam";
264+ DO
265+ UPDATE emp
266+ SET salary = new.salary
267+ WHERE emp.name = "Sam";
262268 </programlisting>
263269
264270 At the time Joe receives a salary adjustment, the event
@@ -275,8 +281,9 @@ CREATE RULE example_2 AS
275281 ON SELECT TO EMP.salary
276282 WHERE current.name = "Bill"
277283 DO INSTEAD
278- SELECT (emp.salary) from emp
279- WHERE emp.name = "Joe";
284+ SELECT emp.salary
285+ FROM emp
286+ WHERE emp.name = "Joe";
280287 </programlisting>
281288 </para>
282289 <para>
@@ -285,8 +292,9 @@ CREATE RULE example_2 AS
285292 the current user):
286293 <programlisting>
287294CREATE RULE example_3 AS
288- ON SELECT TO emp.salary
289- WHERE current.dept = "shoe" AND current_user = "Joe"
295+ ON
296+ SELECT TO emp.salary
297+ WHERE current.dept = "shoe" AND current_user = "Joe"
290298 DO INSTEAD NOTHING;
291299 </programlisting>
292300 </para>
@@ -298,7 +306,8 @@ CREATE toyemp(name = char16, salary = int4);
298306CREATE RULE example_4 AS
299307 ON SELECT TO toyemp
300308 DO INSTEAD
301- SELECT (emp.name, emp.salary) FROM emp
309+ SELECT (emp.name, emp.salary)
310+ FROM emp
302311 WHERE emp.dept = "toy";
303312 </programlisting>
304313 </para>
@@ -307,7 +316,8 @@ CREATE RULE example_4 AS
307316 <programlisting>
308317CREATE RULE example_5 AS
309318 ON INERT TO emp WHERE new.salary > 5000
310- DO UPDATE NEWSET salary = 5000;
319+ DO
320+ UPDATE NEWSET salary = 5000;
311321 </programlisting>
312322 </para>
313323 </refsect1>