Внедренный SQL
Первым способом отправки инструкций SQL в СУБД является внедренный SQL. Так как SQL не использует переменные и инструкции потока, он часто используется как подлангу базы данных, который можно добавить в программу, написанную на обычном языке программирования, например C или COBOL. Это центральная идея внедренного SQL: размещение инструкций SQL в программе, написанной на языке программирования узла. Кратко говоря, для внедрения инструкций SQL на хост-языке используются следующие методы:
Внедренные инструкции SQL обрабатываются специальным прекомпилером SQL. Все инструкции SQL начинаются с вводного и заканчивающегося терминатором, оба из которых помечают инструкцию SQL для предварительной компиляции. Вводный и терминатор зависят от языка узла. Например, введение — EXEC SQL в C и &SQL(в MUMPS, а терминатор — точка с запятой (;) в C и правой скобке в MUMPS.
Переменные из программы приложения, называемые переменными узла, можно использовать в внедренных инструкциях SQL, где бы ни были разрешены константы. Их можно использовать для ввода для настройки инструкции SQL в определенной ситуации и выходных данных для получения результатов запроса.
Запросы, возвращающие одну строку данных, обрабатываются с помощью инструкции SINGLETON SELECT; Эта инструкция указывает как запрос, так и переменные узла, в которых возвращаются данные.
Запросы, возвращающие несколько строк данных, обрабатываются курсорами. Курсор отслеживает текущую строку в результирующем наборе. Инструкция DECLARE CURSOR определяет запрос, инструкция OPEN начинает обработку запросов, оператор FETCH извлекает последовательные строки данных, а инструкция CLOSE завершает обработку запросов.
При открытии курсора можно использовать позиционированные инструкции по обновлению и расположению удаления для обновления или удаления строки, выбранной курсором.
Этот раздел содержит следующие подразделы.