Приложение А. Ответы к у11ражнениям
if city='London· then comm : = comm - .02 else comm : = comm + .02;
end;
{Для ситуации "если не commnull", begin и end указаны для ясности.
write ('Текущий город для продавца |
·, snum, |
city, · |
Желаете изменить значение? |
(Y/N)'); |
|
Замечание: Для продавца, которому в данный момент не назначен город, комиссион
ные назначаются в зависимости от того, проживает он в Лондоне или нет.
read ( response);
{ Переменная response содержит значение независимо от того, имеет ли переменная citynull значение "истина" или "ложь". }
end; { else not citynull } if response = ·у· then
begin
write ('Введите новое значение для city: · );
read (newcity);
if not commnull then
{ Эта операция может быть выполнена только для значений, отличных от NULL }
case newcity of: begin
'Barcelona': comm: = comm+.01, 'San Jose':comm: = comm-.01
end; { case and if not commnull} ЕХЕС SQL UPDATE Salespeople
SЕТ city=:newcity, comm = : comm:i_com WHERE CURRENT OF Salesperson;
{ Переменная-индикатор comm принимает NULL-значение в нужной ситуации}
епd; { если response = ·у·, если respoпse<>'Y',
то никаких изменений выполнять не требуется.}
ЕХЕС SQL FЕТСН Salesperson
INTO (:sпum,: sname, :с ity:i_cit, : comm: i_com);
{ Перейти к следующей строке }
end; { пока SQLCODE = О } ЕХЕС SQL CLOSE CURSOR Salesperson;
}