Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Операторы управления




Begin

Правила написания программы

PL/SQL ‑ процедурное расширение языка SQL фирмы Oracle. Прог­рам­ма на PL/SQL оформляется следующим образом:

[<<метка с именем блока >>]

[ Declare

<описание типов, переменных и констант> ]

<операторы обработки данных и вложенные блоки (тело блока)>

[ Exeption

<Операторы обработки исключительных ситуаций> ]

End [<метка блока>];

Любой оператор заканчивается символом “;”. Комментарий разме­ща­ется между символами “/*” и “*/” или указывается в конце строки после двух знаков “минус” (для динамически обрабатываемых предкомпилято­ром Oracle блоков этот вид комментария запрещен). Идентификатор начи­на­ется с буквы, может содер­жать латинские буквы, цифры и символы “$”, “_”, “#”. Длина идентификатора ограничена 30 символами. Можно объ­явить одинаковые идентификаторы в двух разных блоках. Объекты, пред­­став­­ленные эти­ми идентификаторами, различны. PL/SQL нечувствителен к регистру, кроме стро­ко­вых переменных и констант. В одной строке может быть несколько опера­то­ров, и один опе­ра­тор может занимать несколько строк. Если иден­ти­фикатор совпадает с зарезервированным словом, то он заключается в кавычки.

Строковые констан­ты зак­лючаются в апострофы. Два соседних апострофа внутри строковой константы воспринимаются как один.

Константы True, False и Null обозначают “Истину”, “Ложь” и “Пустое зна­че­ние” соответственно.

Метки заключаются в двойные угловые скобки.

Константа объявляется в виде:

<имя константы> constant <тип>:= <значение>

Пример. credit_limit constant real:= 5000.00;

Оператор выбора Примеры

If <условие> Then If oklad <1000 then

<операторы>; matpom:=1000;

[[ Elsif <условие> Then elsif oklad <5000 then

<операторы>;] matpom:= 500;;

… else

[ Else <операторы>;]] matpom:=0;

End if; end if;

Оператор цикла Loop: Loop

Loop Fetch sotr into Sotr_zap;

<операторы>; Exit when sotr%notfound;...

End loop; End loop;

Оператор цикла While:

While <условие> loop While i<1000 loop

<операторы>; s:=1/i;

End loop; End loop;

Оператор цикла For:

For <переменная цикла> in [reverse] For i in1..10000 loop

<список интервалов значений> loop insert into dolgnosti

<операторы>; values(md(i).kd, md(i).nd);

End loop; End loop

reverse ‑ просмотр списка значений в порядке от последнего к первому.

Интервал задается в виде: <начальное значение> .. <конечное значение>

Оператор группового связывания Forall (выполняется быстрее):

Forall <переменная цикла> in [reverse] Forall i in1..10000 loop

<список интервалов значений> loop insert into dolgnosti

<оператор>; values(md(i).kd, md(i).nd);

Оператор Exit when<условие> используется для досрочного вы­хо­да из цикла при выполнении указанного условия.

Оператор Goto<метка> используется для безусловного перехода на заданную метку. Нельзя использовать этот оператор для перехода вовнутрь цикла, условного оператора или подблока. Метка указывается в двойных угловых кавычках.

Пример цикла for.

begin

for i in 1..10 loop

if mod(i,2) = 0 then insert into temp values (i, ' Четное число');

else insert into temp values (i, ' Нечетное число');

end if;

end loop; commit; select * from temp;

end;




Поделиться с друзьями:


Дата добавления: 2014-12-10; Просмотров: 448; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.025 сек.