1. Понятие о базе данных. Субд. Примеры


Динамический SQL; Стандартный пакет DBMS_SQL


Download 338.67 Kb.
bet17/81
Sana17.06.2023
Hajmi338.67 Kb.
#1547959
1   ...   13   14   15   16   17   18   19   20   ...   81
Bog'liq
Baza dannix Yakuniy savollar va javoblar (1)

21. Динамический SQL; Стандартный пакет DBMS_SQL;
Динамический SQL это методология программирования для генерации и выполнения инструкций SQL во время выполнения.
Это полезно при написании универсальных и гибких программ, таких как системы специальных запросов, при написании программ, которые должны выполнять инструкции языка определения базы данных (DDL), или когда вы не знаете во время компиляции полный текст инструкции SQL или количество или типы данных его входных и выходных переменных.
PL / SQL предоставляет два способа написания динамического SQL:

  • Собственный динамический SQL, язык PL / SQL (то есть родной) для построения и выполнения динамических операторов SQL

  • DBMS_SQL пакет, API для построения, запуска и описания динамических операторов SQL

Собственный динамический SQL-код легче читать и писать, чем эквивалентный код, использующий DBMS_SQL пакет, и работает заметно быстрее (особенно когда он может быть оптимизирован компилятором). Однако, чтобы написать собственный динамический SQL-код, вы должны знать во время компиляции количество и типы данных входных и выходных переменных инструкции dynamic SQL. Если вы не знаете эту информацию во время компиляции, вы должны использовать DBMS_SQL пакет. DBMS_SQLВы также должны использовать пакет, если хотите, чтобы сохраненная подпрограмма возвращала результат запроса неявно (не через OUT REF CURSOR.
DBMS_SQLПакет предоставляет интерфейс для использования динамического SQL для анализа любого оператора языка обработки данных (DML) или языка определения данных (DDL) с использованием PL / SQL.
Например, вы можете ввести DROP TABLEинструкцию из хранимой процедуры, используя процедуры синтаксического анализа, поставляемые с DBMS_SQLпакетом.
DBMS_SQL является SYSпринадлежащим a пакетом, скомпилированным с AUTHID CURRENT_USER. Любая DBMS_SQLподпрограмма, вызываемая из анонимного блока PL /SQL, выполняется с привилегиями текущего пользователя.
22. Язык SQL. Основы синтаксиса языка. Примеры;

Download 338.67 Kb.

Do'stlaringiz bilan baham:
1   ...   13   14   15   16   17   18   19   20   ...   81




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling