Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Входные наборы
Входные наборы
Как часть SELECT ... FROM В запросе на поиск задает набор для вывода или для операции курсора, точно так же и другие операторы DML (INSERT, UPDATE и DELETE) задают входные наборы, идентифицируя данные, над которыми выполняется операция.
Входной набор запроса INSERT задает одну таблицу и упорядоченный слева направо список идентификаторов столбцов, которые получат входные значения в последующем предложении VALUES(). Предложение VALUES() должно поставлять список значений, которые в точности соответствуют порядку входного набора и типу данных его элементов.
Следующий пример определяет входной набор, состоящий из трех столбцов таблицы TABLEB. Константы в предложении VALUES о будут проверяться на присутствие трех значений и на наличие у них корректных типов данных:
INSERT INTO TABLEB(COLA, COLB, COLC)
VALUES(99, 'Christmas 2004', '2004-12-25');
Оператор INSERT имеет альтернативный синтаксис, в котором предложение VALUES о заменяется на выборку набора из одной или более других таблиц, реальных или виртуальных. Операторы INSERT подробно обсуждаются в разд. "Оператор INSERT".
Оператор UPDATE определяет свой входной набор, задавая одну таблицу и список из одного или более столбцов вместе с их значениями в предложении SET. Он идентифицирует строки, принимающие участие в операции, в предложении WHERE:
UPDATE TABLEB
SET COLB ='Labor Thanksgiving Day (Japan)',
COLC = '2002-23-11'
WHERE . . .
Операторы UPDATE подробно обсуждаются в разд. "Оператор UPDATE".
Запрос DELETE не может задавать столбцы в своем входном наборе - этот набор всегда определяется неявно * (все столбцы). Он идентифицирует строки, принимающие участие в операции, в предложении WHERE. Например, следующий запрос удалит все строки, где COLC (типа данных DATE) является датой, раньше 13 декабря 1999 г.:
DELETE FROM TABLEB
WHERE COLC < '1999-12-13';
Операторы DELETE подробно обсуждаются в разд. "Оператор DELETE".
- Наборы данных
- Выходные наборы в качестве входных наборов
- Выходные наборы
- Наборы символов Firebird
- Предикаты: наборы узлов
- Входные и выходные данные
- 10.6.2. Наборы сигналов: sigset_t и связанные функции
- Входные данные
- Пользовательские наборы символов и сортировки
- I.3.1 Протоколы, элементы, стеки и наборы
- Наборы взаимосвязанных приложений, установленных на устройстве
- 9.3.3. Входные операнды