Index: doc/src/sgml/ref/begin.sgml =================================================================== RCS file: /usr/local/cvsroot/pgsql-server/doc/src/sgml/ref/begin.sgml,v retrieving revision 1.31 diff -2 -c -r1.31 begin.sgml *** doc/src/sgml/ref/begin.sgml 1 Aug 2004 17:32:13 -0000 1.31 --- doc/src/sgml/ref/begin.sgml 6 Aug 2004 11:35:03 -0000 *************** *** 101,104 **** --- 101,107 ---- Issuing BEGIN when already inside a transaction block will provoke a warning message. The state of the transaction is not affected. + To nest transactions within a transaction block, use savepoints + (See + for more information). Index: doc/src/sgml/ref/update.sgml =================================================================== RCS file: /usr/local/cvsroot/pgsql-server/doc/src/sgml/ref/update.sgml,v retrieving revision 1.29 diff -2 -c -r1.29 update.sgml *** doc/src/sgml/ref/update.sgml 9 Jun 2004 19:08:13 -0000 1.29 --- doc/src/sgml/ref/update.sgml 6 Aug 2004 11:54:39 -0000 *************** *** 189,192 **** --- 189,205 ---- (SELECT sales_person FROM accounts WHERE name = 'Acme Corporation'); + + Attempt to insert a new stock item along with the quantity of stock. If + the item exists, update the stock count of the existing item. To do this, + use savepoints. + + BEGIN; + SAVEPOINT sp1; + INSERT INTO wines VALUES('Chateau Lafite 2003', '24'); + -- Check for unique violation on name + ROLLBACK TO sp1; + UPDATE wines SET stock = stock + 24 WHERE winename='Chateau Lafite 2003'; + COMMIT; +