![]() КАТЕГОРИИ: Архитектура-(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; Просмотров: 475; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |