Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Методы и исключения для работы с коллекциями

SHARED_SERVERS | Процесс-слушатель Oracle и его основные параметры. Сетевые настройки Oracle. | Метод аутентификации | Типы данных базы данных Oracle. | Изменение физических атрибутов таблицы | Удаление таблиц | Создание индексов связанных с ограничением целостности | Последовательность СУБД Oracle и ее параметры. | Системные и объектные привилегии СУБД Oracle. | Операторы цикла в PLSQL |


Читайте также:
  1. D.2. Методы оценки технических уязвимостей
  2. I 7 D I РЕЛИГИЯ И НАУЧНЫЕ МЕТОДЫ
  3. I РЕЛИГИЯ И НАУЧНЫЕ МЕТОДЫ
  4. I РЕЛИГИЯ И НАУЧНЫЕ МЕТОДЫ
  5. I РЕЛИГИЯ И НАУЧНЫЕ МЕТОДЫ
  6. I РЕЛИГИЯ И НАУЧНЫЕ МЕТОДЫ
  7. I. Задания для самостоятельной работы

 

 

33. Язык PL/SQL:динамический SQL.

Dynamic SQL — расширение базового языка программирования, позволяющее встраивать команды языка структурированных запросов SQL непосредственно в текст программы. В отличие от Embedded SQL, позволяет выполнять запросы, конструируемые или запрашиваемые у пользователя во время выполнения. Прежде чем программа, использующая dynamic SQL, будет откомпилирована компилятором базового языка программирования, она должна быть обработана специальным препроцессором.

В случае с NDS необходимо создать строку, содержащую соответствующее выражение, подлежащее дальнейшему выполнению, а после передать эту строку в качестве параметра команде execute_immediate.

DECLARE

STM1 VARCHAR2(150):= 'BEGIN SELECT TEACHER_NAME INTO:1 FROM TEACHER WHERE TEACHER =:2; END;';

T TEACHER.TEACHER%TYPE;

TN TEACHER.TEACHER_NAME%TYPE;

REC TEACHER%ROWTYPE;

BEGIN

T:= 'СМЛВ';

EXECUTE IMMEDIATE STM1 USING OUT TN, IN T;

DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT);

DBMS_OUTPUT.PUT_LINE(TRIM(T)||' '||TN);

EXCEPTION

WHEN OTHERS THEN

DBMS_OUTPUT.PUT_LINE(SQLERRM);

END;

 

34. Язык PL/SQL: входные и выходные параметры, позиционный и параметрический форматы фактических параметров. Значения параметров по умолчанию.

Функции и процедуры могут получать различные параметры при вызове. Параметры могут быть трех типов: IN (входные), OUT (выходные), IN/OUT (одновременно и входные и выходные).

CREATE OR REPLACE PROCEDURE XSM(

MIN_CY IN AUDITORIUM.AUDITORIUM_CAPACITY%TYPE DEFAULT 20,

MAX_CY IN OUT AUDITORIUM.AUDITORIUM_CAPACITY%TYPE,

N_AUD OUT NUMBER)

IS

NO_MAX_CY EXCEPTION;

BEGIN

SELECT COUNT(*), MAX(AUDITORIUM_CAPACITY) INTO N_AUD, MAX_CY FROM AUDITORIUM

WHERE AUDITORIUM_CAPACITY>=MIN_CY AND AUDITORIUM_CAPACITY<=MAX_CY;

IF N_AUD IS NULL

THEN RAISE NO_MAX_CY;

END IF;

EXCEPTION

WHEN NO_MAX_CY THEN RETURN;

WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SQLERRM);

END XSM;

При вызове процедур и функций параметры можно передавать тремя способами:

Параметрическая форма передачи параметров - передача пар значение_параметра=>имя_параметра, где очередность не имеет значения.

Позиционная – передача набора значений параметров в заранее строго определенной фиксированной последовательности.

Смешанная – совмещает два вышеописанных способа, часть параметров передается позиционно и они указываются первыми, остальные же параметры передаются параметрически.

--ПОЗИЦИОННЫЙ

XSUM(

MIN_CY,

MAX_CY,

N_AUD

);

--ПАРАМЕТРИЧЕСКИЙ

XSUM(

MAX_CY => MAX_CY,

N_AUD => N_AUD,

MIN_CY => MIN_CY

);

--СМЕШАННЫЙ

XSUM(

MIN_CY,

N_AUD => N_AUD,

MAX_CY => MAX_CY

);

При создании функции или процедуры можно использовать для его параметров опцию default, задающую значение параметра по умолчанию, в случае если фун. или проц. вызывается без передачи значения этого параметра, то используется его значение по умолчанию.

DECLARE

MAX_CY NUMBER;

N_AUD NUMBER;

BEGIN

MAX_CY:=50;

 

XSM(

MAX_CY => MAX_CY,

N_AUD => N_AUD

);

DBMS_OUTPUT.PUT_LINE('MAX_CY = ' || MAX_CY);

DBMS_OUTPUT.PUT_LINE('N_AUD = ' || N_AUD);

END; -- Использование опции default для параметров при вызове функции.

35. Язык PL/SQL: применение XML.

XML (англ. eXtensible Markup Language — расширяемый язык разметки) — рекомендованный Консорциумом Всемирной паутины язык разметки, фактически представляющий собой свод общих синтаксических правил. XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией междупрограммами, а также для создания на его основе более специализированных языков разметки (например, XHTML). XML является упрощённым подмножеством языка SGML.

Применяется для создания словарей других языков.

В Oracle определен тип данных XMLType для естественного оперирования документами XML в базе данных. Он обладает следующими возможностями:

- позволяет представлять в базе данных документы XML;

- имеет встроенные конструкторы и методы для работы с содержимым документов XML, например, можно создавать значения типа XMLType, извлекать и индексировать значения XML;

- может использоваться как тип данных столбца, таблицы или представления.

Конструктор XMLType применяется для создания объектов типа XMLTYPE (например, конструктору можно передать строку в качестве параметра, и на основании этой строки будет создан xml-документ).

Для создания XML-объектов в используются функции XMLELEMENT (создание тега), XMLATRIBUTE (создание атрибутов тега) и XMLAGG (агрегирование тегов при выборке нескольких строк) (основные).


Дата добавления: 2015-11-16; просмотров: 51 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Конструкция CURRENT OF применяется для обращения к последней просмотренной в курсоре строке с целью ее изменения или удаления из таблицы.| EXTRACTVALUE.

mybiblioteka.su - 2015-2024 год. (0.007 сек.)