Введение в стандарты языка баз данных SQL



         

Прямой вызов операторов SQL


Как мы уже упоминали, в стандарте SQL/92 специфицирован набор операторов, которые могут вызываться напрямую не будучи встроены в модуль или программу на языке программирования. Обычно прямой вызов производится с помощью некоторой утилиты СУБД, обеспечивающей возможности интерактивного ввода и редактирования SQL-операторов и отображение результатов на экран терминала. Наиболее естественным способом написания такой утилиты является использование динамического SQL.

Набор прямо вызываемых операторов определяется следующими синтаксическими правилами:

<direct SQL statement> ::= <directly executable statement> <semicolon> <directly executable statement> ::= <direct SQL data statement> | <SQL schema statement> | <SQL transaction statement> | <SQL connection statement> | <SQL session statement> | <direct implementation-defined statement> <direct SQL data statement> ::= <delete statement: searched> | <direct select statement: multiple rows> | <insert statement> | <update statement: searched> | <temporary table declaration> <direct implementation-defined statement> ::= См. пояснения ниже

Пояснения:

  • Прямые операторы манипулирования данными (directSQLdatastatement) не должны содержать спецификацию параметров, спецификацию динамических параметров и спецификацию переменных.
  • Спецификация значения, представляющего неопределенное значение, определяется в реализации.
  • Синтаксические правила для прямых операторов, определяемых в реализации, (directimplementation-definedstatement) определяются в реализации.
  • Инициирующими транзакцию являются следующие прямые операторы SQL:

      (a) операторы, являющиеся инициирующими транзакцию операторами, которые могут входить в SQL-процедуру;

      (b) прямой оператор выборки, возвращающий несколько строк (directselectstatement: multiplerows);

      (c) инициирующий транзакцию прямой оператор, определяемый в реализации.

  • После последнего вызова оператора SQLSQL-агентом в SQL-сессии происходит следующее:




      Содержание  Назад  Вперед