git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 807cb00)
Doc patch that adds an example of a correllated UPDATE.
2006年1月19日 23:09:42 +0000 (23:09 +0000)
2006年1月19日 23:09:42 +0000 (23:09 +0000)
David Fetter


diff --git a/doc/src/sgml/ref/update.sgml b/doc/src/sgml/ref/update.sgml
index 0e354af969e68ef0669f677755d746f99ac6f416..503f41de12bcc6e7141126751158cf5eac0de013 100644 (file)
--- a/doc/src/sgml/ref/update.sgml
+++ b/doc/src/sgml/ref/update.sgml
@@ -1,5 +1,5 @@
<!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/update.sgml,v 1.33 2005年10月12日 23:19:22 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/update.sgml,v 1.34 2006年01月19日 23:09:42 momjian Exp $
PostgreSQL documentation
-->
@@ -205,14 +205,32 @@ UPDATE employees SET sales_count = sales_count + 1 FROM accounts
WHERE accounts.name = 'Acme Corporation'
AND employees.id = accounts.sales_person;
</programlisting>
+ </para>
+ <para>
Perform the same operation, using a sub-select in the
<literal>WHERE</literal> clause:
<programlisting>
UPDATE employees SET sales_count = sales_count + 1 WHERE id =
(SELECT sales_person FROM accounts WHERE name = 'Acme Corporation');
</programlisting>
+ </para>
+ <para>
+ Now that all the papers are signed, update the most recently closed
+ deal of the travelling salesperson who closed the Rocket Powered
+ Skates deal with the Acme Corporation.
+<programlisting>
+UPDATE employees SET last_closed_deal = deal.id
+ FROM accounts JOIN deals ON (account.id = deal.account_id)
+ WHERE deal.employee_id = employees.id
+ AND deal.name = 'Rocket Powered Skates'
+ AND accounts.name = 'Acme Corporation'
+ ORDER BY deal.signed_date DESC LIMIT 1;
+</programlisting>
+ </para>
+
+ <para>
Attempt to insert a new stock item along with the quantity of stock. If
the item already exists, instead update the stock count of the existing
item. To do this without failing the entire transaction, use savepoints.
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /