Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Брешенков А.В., Галямова Е.В., Ефремов С.В. - Процедуры и функции в Oracle, Триггеры в Oracle

Брешенков А.В., Галямова Е.В., Ефремов С.В. - Процедуры и функции в Oracle, Триггеры в Oracle

PDF-файл Брешенков А.В., Галямова Е.В., Ефремов С.В. - Процедуры и функции в Oracle, Триггеры в Oracle Языки интернет-программирования (17397): Книга - 5 семестрБрешенков А.В., Галямова Е.В., Ефремов С.В. - Процедуры и функции в Oracle, Триггеры в Oracle: Языки интернет-программирования - PDF (17397) - СтудИз2017-12-28СтудИзба

Описание файла

PDF-файл из архива "Брешенков А.В., Галямова Е.В., Ефремов С.В. - Процедуры и функции в Oracle, Триггеры в Oracle", который расположен в категории "". Всё это находится в предмете "языки интернет-программирования" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "языки интернет-программирования" в общих файлах.

Просмотр PDF-файла онлайн

Текст из PDF

Московский Государственный Технический Университет им. Н.Э. БауманаФакультет «Информатика и системы управления»Кафедра «Компьютерные системы и сети»А.В. Брешенков, Е.В. Галямова, С.В. ЕфремовМетодическое пособие по лабораторной работе №3Процедуры и функции в OracleМетодическое пособие по лабораторной работе №4Триггеры в OracleМосква 2010ОГЛАВЛЕНИЕМетодическое пособие по лабораторной работе №3Процедуры и функции в Oracle………………………………………………………….1.Введение……………………………………………………………………………32.Создание процедур и функций с помощью страницы SQL команд…………….43.Создание процедур и функций с помощью страницы просмотра объектов……54.Просмотр процедур и функций с помощью страницы просмотра объектов…...65.Создание процедуры с помощью SQL команды CREATE PROCEDURE……...76.Создание функций с помощью SQL команды CREATE FUNCTION…………..97.Вызов хранимых процедур и функций………………………………………..…..108.Изменение процедур и функций…………………………………………………..119.Удаление процедур и функций……………………………………………………1210.

Заключение………………………………………………………………………….1311. Контрольные вопросы……………………………………………………..………1312. Рекомендуемая литература………………………………………………………...13Методическое пособие по лабораторной работе №4Триггеры в Oracle…………………………………………………………………………141Введение…………………………………………………………………………...142Обзор триггеров…………………………………………………………………...142.1Типы триггеров……………………………………………………………..142.2Именование триггеров……………………………………………………..152.3В каких случаях вызывается триггер?…………………………………….152.4Моменты запуска триггера………………………………………………...152.4.1 Запуск триггера с помощью опций BEFORE и AFTER………...162.4.2 Запуск триггера с помощью опции FOR EACH ROW………….162.4.3 Запуск триггера с помощью задания условий…………………..162.4.4 Запуск триггера с помощью опции INSTEAD OF………………1732.5Доступ к колонкам таблиц в строковых триггерах………………………172.6Определение DML операции, запускающей триггер…………………….172.7Включение и выключение триггера………………………………………18Создания триггеров…………………..…………………………………………..183.1Рекомендации по созданию триггеров………………………………..….183.2Ограничения по созданию триггеров…………………………………….193.2.1 SQL выражения, приемлемые при создании триггеров……….193.2.2 Ограничение на системные триггеры…………………………..193.2.3 Привилегии, которые нужны для работы с триггерами………19Управление триггерами…………………………………………………….2044.1Создание триггеров с помощью страницы SQL команд……………….204.2Создание триггеров с помощью страницы просмотра объектов……...214.3Просмотр триггеров с помощью страницы просмотра объектов……..224.4Создание триггеров с опциями «AFTER» и «FOR EACH ROW»……..234.5Создание триггеров с опциями «BEFORE» и условием «WHEN»……244.6Создание триггеров с опцией «INSTEAD OF»…………………………244.7Создание триггера с перехватчиком ошибок…………………………...254.8Создание триггера, запускающегося один раз при каждом изменении4.9Создание «LOGON» и «LOGOFF» триггера……………………………274.10 Изменение триггеров……………………………………………………..284.11 Удаление триггеров………………………………………………………284.12 Включение и отключение триггеров……………………………………29Компиляция триггеров…………………………………………………….2955.1Ошибки при создании триггеров………………………………………..295.2Зависимости триггеров…………………………………………………..295.3Перекомпиляция триггеров………………………………………….…..306Заключение…………………………………………………………………307Контрольные вопросы……………………………………………….……308Рекомендуемая литература…………………………………...…………...311.

Введение.В данной лабораторной работе Вы познакомитесь с существующими встроеннымипроцедурами и функциями, с алгоритмом создания, применения и удаления новыхобъектов и изменения встроенных процедур и функций.Вы можете создавать, запускать, удалять и изменять процедуры и функцииразными способами: на странице SQL команд, на странице просмотра объектов, настранице создания SQL скриптов или с помощью командной строки SQL команд.SQL выражение CREATE используется для создания любых объектов в Oracle:CREATE PROCEDURE позволит создать процедуру, CREATE FUNCTION – функцию.Процедуры и функции похожи на маленькие программы, они состоят издекларативной (описательной) части, части выполнения или перехвата исключений.Процедура – это подпрограмма, которая выполняет какое-то конкретное действие. Выуказываете ее имя, параметры, переменные, создаете блок выполнения (BEGIN – END),который содержит основной код и перехватывает какие-либо исключения.

Функция – этоподпрограмма, которая считает и выдает искомое значение. Процедуры и функции оченьпохожи, за исключением того, что функции кроме выполнения действий возвращаютзначение.2. Создание процедур и функций с помощью страницы SQL команд.Вы можете создать объекты данного типа с помощью страницы SQL команд, дляэтого вам необходимо выполнить следующие действия:1.Войдите на страницу базы данных с помощью пароля, полученного отпреподавателя.2.На главной странице щелкните мышкой по иконке «SQL», чтобыотобразить страницу управления SQL.3.На странице SQL нажмите на иконку «SQL Commands», чтобы перейтина следующую страницу.4.Введите в появившемся окне PL/SQL код, для создания PL/SQLпроцедуры или функции.

Можете воспользоваться примером процедуры,отображенной на рисунке №1.5.Выберите (выделите) код создания процедуры или функции и нажмитекнопку «RUN».Рисунок 1. Создание процедуры today_is.6.Выберите (выделите) код создания процедуры или функции и нажмитекнопку «RUN».Рисунок 2. Выполнение процедуры today_is.7.Если Вы хотите сохранить PL/SQL код для будущего использования,нажмите кнопку «SAVE».8.В поле «NAME» введите название Вашего кода. Вы можете также ввестидополнительные опции. Нажмите кнопку «SAVE», чтобы сохранить Вашкод.9.Для доступа к сохраненным процедурам и функциям нажмите назакладку «Saved SQL» и выберите необходимую Вам процедуру илифункцию.3. Создание процедур и функций с помощью страницы просмотраобъектов.Вы можете создать объекты данного типа с помощью страницы просмотраобъектов, для этого вам необходимо выполнить следующие действия:1.Войдите на страницу базы данных с помощью пароля, полученного отпреподавателя.2.На главной странице щелкните мышкой по треугольнику справа от кнопки«Object Browser», чтобы появился выпадающий список.3.Выберите из списка пункт «Create» --} «Procedure».4.Введите имя процедуры «award_bonus», проверьте стоит ли галочка напротив«Include Arguments» и нажмите кнопку «Next».5.Введите информацию об аргументах и нажмите «Next».

В качестве примераможете взять ее из рассмотренной ниже процедуры Example.NameIn/OuttypeEmp_idINNumberBonus_rateINNumberТаблица 1. Процедуры и аргументы.6.Введите исходный код в «Procedure body» и нажмите «Next». В качествепримера можете взять ее из рассмотренной в примере №2 процедуры .Рисунок 3. Исходный код процедуры «Award_Bonus».7.Выберите вкладку «SQL», чтобы посмотреть исходный код.Нажмите«Prevoius», если вы хотите внести в него изменения.8.Если больше не нужно вносить никаких изменений, нажмите кнопку «Finish».Нажмите кнопку «Edit», чтобы добавить или удалить подпрограммы ипеременные снаружи блока BEGIN..END.9.Нажмите кнопку «Compile», чтобы скомпилировать текст. Если появятсяошибки, исправьте исходный код и нажмите еще раз «Compile».

После каждойкомпиляции сохраняются все внесенные изменения.10.Нажмите кнопку «Finish», чтобы закончить процесс создания процедуры.4. Просмотр процедур и функций с помощью страницы просмотраобъектов.Для того, чтобы посмотреть, какие процедуры и функции существуют в Вашей базеиспользуете страницу просмотра объектов «Object Browser».1.Войдите на страницу базы данных с помощью пароля, полученного отпреподавателя.2.На главной странице щелкните мышкой по объекту «Object Browser», чтобыоткрылась страница просмотра объектов.3.Из выпадающего списка выберите процедуру или функцию, затем щелкните поимени процедуры, которую создали в предыдущем пункте («Award_bonus»).Появится информация о выбранной процедуре или функции.Рисунок 4. Информация о процедуре Award_bonus.5.

Создание процедуры с помощью SQL команды CREATE PROCEDURE.Команда CREATE PROCEDURE позволяет создавать процедуры, которые будутхраниться в базе данных. К таким хранимым (на схемном уровне) подпрограммаморганизован доступ из объекта «SQL». Вы можете использовать опцию OR REPLACE,чтобы изменить существующую процедуру, не удаляя ее сначала.Пример №1. Хранимая процедура «today_is», возвращающая текущую дату.CREATE OR REPLACE PROCEDURE today_is ASBEGIN-- display the current system date in long formatDBMS_OUTPUT.PUT_LINE( 'Today is ' || TO_CHAR(SYSDATE, 'DL') );END today_is;/-- to call the procedure today_is, you can use the following blockBEGINtoday_is(); -- the parentheses are optional hereEND;/Когда Вы создаете процедуру или функцию, то можете указать, какие параметрыбудут переданы ей или получены из нее.

В следующем примере будет использоватьсяопция IN для передачи параметров в процедуры emp_id() и bonus_rate().Пример №2. Хранимые процедуры с параметрами.-- including OR REPLACE is more convenient when updating a subprogram-- IN is the default for parameter declarations so it could be omittedCREATE OR REPLACEPROCEDUREaward_bonus(emp_id IN NUMBER, bonus_rate IN NUMBER)AS-- declare variables to hold values from table columns, use %TYPE attributeemp_commemployees.commission_pct%TYPE;emp_salemployees.salary%TYPE;-- declare an exception to catch when the salary is NULLsalary_missing EXCEPTION;BEGIN -- executable part starts here-- select the column values into the local variablesSELECT salary, commission_pct INTO emp_sal, emp_comm FROM employeesWHERE employee_id = emp_id;-- check whether the salary for the employee is null, if so, raise an exceptionIF emp_sal IS NULL THENRAISE salary_missing;ELSEIF emp_comm IS NULL THEN-- if this is not a commissioned employee, increase the salary by the bonus rate-- for this example, do not make the actual update to the salary-- UPDATE employees SET salary = salary + salary * bonus_rate-- WHERE employee_id = emp_id;DBMS_OUTPUT.PUT_LINE('Employee ' || emp_id || ' receives a bonus: '|| TO_CHAR(emp_sal * bonus_rate) );ELSEDBMS_OUTPUT.PUT_LINE('Employee ' || emp_id|| ' receives a commission.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее