Ю тся следую щие вопросы : ■ Структура блоков я зы к а o racle p L /s q L
Download 0.9 Mb. Pdf ko'rish
|
Майкл Мак-Локлин - 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 и находит, ч то 3 м ень ше, чем 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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling