Синтаксис
UPDATE <table name>
SET { <column name>=<value expression> } .,..
{[ WHERE <predlcate>]; }
| {[WHERE CURRENT OF <cursorname>]
<SQL term>]}
UPDATE изменяет значения в каждом столбце с именем<column name> на соответствующее значение<value expression>. Если предложение WHERE использует предикат<predicate>, то только строки таблиц чьи текущие значения делают тот предикат<predicate> верным, могут быть изменены. Если WHERE использует предложение CURRENT OF, то значения в строке таблицы с именем<table name> находящиеся в курсоре с именем<cursor name> меняются. WHERE CURRENT OF пригодно для использования только во вложенном SQL, и только с модифицируемыми курсорами. При отсутствия предложения WHERE - все строки меняются.
WHENEVER (ВСЯКИЙ РАЗ КАК)
Синтаксис
EXEC SQL WHENEVER <SQLcond> <actlon> <SQL term>
<SQLcond> ::=SQLERROR | NOT FOUND | SQLWARNING
(последнее - нестандартное)
<action> ::=CONTINUE | GOTO <target> | GOTO <target>
<target> ::=зависит от главного языка
Приложение E. ТАБЛИЦЫ ИСПОЛЬЗУЕМЫЕ В КНИГЕ
ТАБЛИЦА 1: ПРОДАВЦЫ
snum |
sname |
city |
comm |
1001 |
Peel |
London |
.12 |
1002 |
Serres |
San Jose |
.13 |
1004 |
Motika |
London |
.11 |
1007 |
Rifkin |
Barcelona |
.15 |
1003 |
Axelrod |
New York |
.10 |
ТАБЛИЦА 2: ЗАКАЗЧИКИ
cnum |
cname |
city |
rating |
snum |
2001 |
Hoffman |
London |
100 |
1001 |
2002 |
Giovanni |
Rome |
200 |
1003 |
2003 |
Liu |
SanJose |
200 |
1002 |
2004 |
Grass |
Berlin |
300 |
1002 |
2006 |
Clemens |
London |
100 |
1001 |
2008 |
Cisneros |
SanJose |
300 |
1007 |
2007 |
Pereira |
Rome |
100 |
1004 |
ТАБЛИЦА 3: ПОРЯДКИ
onum |
amt |
odate |
cnum |
snum |
3001 |
18.69 |
10/03/1990 |
2008 |
1007 |
3003 |
767.19 |
10/03/1990 |
2001 |
1001 |
3002 |
1900.10 |
10/03/1990 |
2007 |
1004 |
3005 |
5160.45 |
10/03/1990 |
2003 |
1002 |
3006 |
1098.16 |
10/03/1990 |
2008 |
1007 |
3009 |
1713.23 |
10/04/1990 |
2002 |
1003 |
3007 |
75.75 |
10/04/1990 |
2004 |
1002 |
3008 |
4723.00 |
10/05/1990 |
2006 |
1001 |
3010 |
1309.95 |
10/06/1990 |
2004 |
1002 |
3011 |
9891.88 |
10/06/1990 |
2006 |
1001 |