Динамический SQL

Материал из Википедии — свободной энциклопедии
Версия от 02:24, 12 февраля 2025; imported>Sldst-bot (Замена на оригинальную дату установки ш:Дописать: 2009-03-18 (до 2023 года ш:Rq с параметром stub))
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Динамический SQL — категория программного инструментария, в котором обеспечивается возможность конструировать SQL-запросы непосредственно в коде на каком-либо другом языке программирования. Обычно реализуется как расширенный вариант встраиваемого SQL и соответствующая надстройка над компилятором, но может быть встроенным средством языка.

В Firebird динамический SQL (DSQL) — надмножество встраиваемого SQL (ESQL), обрабатываемое препроцессором gpre. В Oracle Database динамические средства встроены в PL/SQL, таким образом, непосредственно в программе на PL/SQL возможно сконструировать произвольную строку (то есть параметризовать не только переменные в предикатах, но и имена таблиц, столбцов и даже собственно языковые конструкции) и передать её СУБД в качестве запроса (конструкция EXECUTE IMMEDIATE). Схожие возможности встроены в T-SQL для Microsoft SQL Server. Такой подход обеспечивает, с одной стороны, максимальную гибкость в конструировании запросов, с другой стороны — усложняет ясность и отладку программ, поэтому динамический SQL используется в основном для вспомогательных и обслуживающих задач (например, требующих выполнить одинаковые операции над каким-либо большим подмножеством объектов базы, выбираемых из словаря данных по какому-либо критерию).

Литература

  • Josh Juneau, Matt Arena. Oracle PL/SQL Recipes A Problem-Solution Approach — Apress. — 2010. p. 457 — ISBN 978-1-4302-3207-0, ISBN 978-1-4302-3208-7

Ссылки

Шаблон:Дописать