Основы проектирования приложений баз данных

       

Параметры SQL-оператора


Параметром называется переменная, используемая в SQL-операторе.

Применение параметров позволяет формировать SQL-операторы непосредственно во время выполнения приложения. Так, при использовании многошагового интерфейса, при котором процесс компиляции и выполнения SQL-оператора происходит как последовательные действия, достаточно откомпилировать SQL-оператор с параметрами вместо явного указания значений полей таблицы базы данных, а затем многократно выполнять данный оператор с различными значениями параметров.

Например:

INSERT INTO TBL1 (F_ID, F2, F3) VALUES (?, ?, ?)

Параметры могут быть именованными и позиционными.

Позиционные параметры указываются символом вопросительный знак (?), называемым маркером параметров. При выполнении оператора вместо параметра в соответствующую позицию SQL-оператора приставляется значение параметра.

Согласно спецификации языка SQL маркеры параметров нельзя размещать в следующих местах SQL-оператора:

  • в списке полей оператора SELECT;
  • одновременно как оба операнда для бинарного оператора (например, оператора =), так как на этапе компиляции нельзя определить тип операндов, выступающих в роли параметров;
  • одновременно как первый и второй операнд для оператора BETWEEN (например, вместо SQL-оператора SELECT title_id, f_sales FROM tbl1 WHERE f_sales BETWEEN 4095 AND 12000 нельзя записать SELECT title_id, f_sales FROM tbl1 WHERE ? BETWEEN ? AND 12000 );
  • одновременно как первый и третий операнд для оператора BETWEEN;
  • одновременно как первый операнд и второй операнд для оператора IN (например, вместо SQL-оператора SELECT f_ID, f_state FROM tbl1 WHERE f_state IN ('CA', 'CB')

    нельзя записать SELECT f_ID, f_state FROM tbl1 WHERE ? IN (?, ?) );

  • как операнд унарного оператора + или -.



Содержание раздела