Основы языка PL/SQL. Гаршина В.В - 47 стр.

UptoLike

Составители: 

47
sql_stmt := ’INSERT INTO payroll
VALUES (:x, :x, :y, :x)’;
EXECUTE IMMEDIATE sql_stmt
USING a, a, b, a;
Для выполнения SQL-запросов, возвращающих наборы данных, ис-
пользуется процесс, состоящий из следующих шагов:
1. Открытие явного курсора (OPEN FOR).
2. Построчная выборка данных (FETCH).
3. Закрытие (CLOSE).
Синтаксис открытия явного курсора следующий:
OPEN {cursor_variable |
:host_cursor_variable}
FOR dynamic_string
[USING bind_argument[, bind_argument]...];
где cursor_variable – переменная курсора, bind_argument – аргументы свя-
зывания с запросом.
Синтаксис выборки данных:
FETCH {cursor_variable |
:host_cursor_variable}
INTO
{define_variable[,
define_variable]... | record};
где define_variable – переменные, куда осуществляется выборка данных.
Синтаксис закрытия курсора:
CLOSE {cursor_variable |
:host_cursor_variable};
Пример работы механизмов динамического SQL с запросом, возвра-
щающим набор строк:
DECLARE
TYPE EmpCurTyp IS REF CURSOR;
     sql_stmt := ’INSERT INTO payroll
               VALUES (:x, :x, :y, :x)’;
     EXECUTE IMMEDIATE sql_stmt
        USING a, a, b, a;

     Для выполнения SQL-запросов, возвращающих наборы данных, ис-
пользуется процесс, состоящий из следующих шагов:
     1. Открытие явного курсора (OPEN FOR).
     2. Построчная выборка данных (FETCH).
     3. Закрытие (CLOSE).
     Синтаксис открытия явного курсора следующий:

     OPEN {cursor_variable |
                         :host_cursor_variable}
      FOR dynamic_string
     [USING bind_argument[, bind_argument]...];

где cursor_variable – переменная курсора, bind_argument – аргументы свя-
зывания с запросом.
      Синтаксис выборки данных:

     FETCH {cursor_variable |
             :host_cursor_variable}
       INTO {define_variable[,
              define_variable]... | record};

где define_variable – переменные, куда осуществляется выборка данных.
      Синтаксис закрытия курсора:

     CLOSE {cursor_variable |
                 :host_cursor_variable};

    Пример работы механизмов динамического SQL с запросом, возвра-
щающим набор строк:

     DECLARE
       TYPE EmpCurTyp IS REF CURSOR;

                                     47