Ю тся следую щие вопросы : ■ Структура блоков я зы к а o racle p L /s q L


Download 0.9 Mb.
Pdf ko'rish
bet6/14
Sana07.03.2023
Hajmi0.9 Mb.
#1246661
1   2   3   4   5   6   7   8   9   ...   14
Bog'liq
Майкл Мак-Локлин - Oracle DB 11g. Программирование на языке PL-SQL - 2014 better 51-73

Оператор CASE
Д ругим условны м о п ер ато р о м яв л яется о п ер ато р
CASE 
(вари ан т). О п ер а­
т о р
CASE 
р аб о тае т подобн о оп ер ато р у
if-then-elsif-then-else. 
Существу­
ет два ти п а о п ер ато р о в
CASE: 
п р о сто й
CASE 
и 
CASE 
с п о и ск о в . П р о сто й
о п ер ато р
CASE 
п р и н и м ае т скалярную перем енную в качестве вы р аж ен и я 
и затем сравн и вает ее со списком скалярн ы х результатов. О р а то р
CASE с 
п оиском п р и н и м ае т перем енную т и п а 
BOOLEAN 
в качестве вы р аж ен и я, а 
затем сравн и вает булев статус результата 
WHEN 
в качестве вы раж ен и я. 
Следующ ий п р и м ер яв л яется общ им п р о то ти п о м о п ер ат о р а 
CASE:
□ CASE [TRUE | [переменная_селектор]]
WHEN [критерий1 | выражение-!] THEN 
операторы_критерия1;
WHEN [критерий2 | выражение2] THEN 
операторы_критерия2;
WHEN [критерий(п+1) | выражение(п+1)] THEN 
операторы_критерия(п+1);
ELSE
операторы_блока;
END CASE;
Следующая п рограм м а дем он стри рует о п ер ат о р
CASE 
с поиском:
□ BEGIN 
CASE TRUE
WHEN (1>3) THEN
dbms_output.PUT_LINE( ‘ Один больше, чем три’);
WHEN (3<5) THEN
dbms_output.PUT_LINE(‘Три меньше, чем пять’);
WHEN (1=2) THEN
dbms_output.PUT_LINE(‘Один равно двум’);
ELSE
dbms_output.PUT_LINE(‘He отработала ни одна ветвь’);
END CASE;
END;
/
Примечание 
Вы можете не указывать значение 
TRUE 
(поскольку это селектор по умолча­
нию), но это не рекомендуется. Использование этого слова добавляет читабельности кода.
П р ограм м а вы ч и сл яет результаты условий 
WHEN 
и находит, ч то 

м ень­
ше, чем 5. Затем он а п еч атает
□ Три меньше, чем пять


Основы PL/SQL
39
Д ополнительную и н ф о р м ац и ю об о п ер ато р е 
CASE 
вы м ож ете н ай ти в 
Главе 4. Э то т п одраздел п р о д ем о н стр и р о вал условны е вы раж ен и я, до­
ступны е вам в P L /S Q L . К ром е того, здесь п ред ло ж ен о и сп ользовать аль­
тер н ати ву для н еи н и ц и а л и зи р о в ан н ы х п ерем ен ны х.
Циклические структуры
В P L /S Q L поддерж иваю тся ц иклы
FOR, SIMPLE 
и 
WHILE. 
О тсутствует си н ­
такси ческая кон струкци я для ц и кли ч еского блока ти п а re p e a t u n til (пов­
т о р я т ь п ока), н о вы все ещ е м ож ете его и спользовать. О б ы чн о циклы
п ри м ен яю тся в связке с курсорам и, но могут и сп ользоваться для р еш е­
н и я других задач, н ап р и м ер , п ои ска и ли о б раб о тки коллекци й O racle.

Download 0.9 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling