Что касается операторов статического SQL, то какого-либо измене-
ния после их однократного написания не предполагается. Они могут хра-
ниться как в файлах, предназначенных для дальнейшего использования,
так и в виде хранимых процедур базы данных, однако программисты не
получают всей той гибкости, которую предлагает им динамический SQL.
Несмотря на наличие большого числа запросов, доступных конечному
пользователю, может случиться так, что ни один из этих «законсервиро-
ванных» запросов не сможет удовлетворить его текущим потребностям.
Динамический SQL дает возможность программисту или конечно-
му пользователю создавать операторы во время выполнения приложения
и передавать их базе данных, которая после выполнения этих операторов
помещает выходные данные в переменные программы. Динамический
SQL часто используется инструментальными средствами, предназначен-
ными для построения заранее незапланированных запросов, позволяю-
щих оперативно формировать тот или иной оператор SQL в зависимости
от особых требований, возникших в конкретной ситуации. После на-
стройки оператора SQL в соответствии с потребностями пользователя он
направляется серверу баз данных для проверки на наличие синтаксиче-
ских ошибок и необходимых для его выполнения привилегий, после чего
происходит его компиляция и выполнение.
Рассмотрим применение прикладного интерфейса программирова-
ния (API) для выполнения операторов SQL.
Прикладной API включает набор библиотечных функций, предоста-
вляющих программисту разнообразные типы доступа к базе данных, а
именно: подключение, выполнение различных SQL-операторов, выборка
отдельных строк данных из результирующих наборов данных и т.д.
Чтобы не разрабатывать отдельные версии пользовательского при-
ложения для каждой из целевых СУБД, с которыми данное приложение
планируется использовать, Microsoft разработала стандарт, получивший
название Open Database Connectivity ODBC. Технология ODBC предусма-
тривает применение единого интерфейса для доступа к различным базам
данных SQL, причем язык SQL рассматривается как основное стандарт-
ное средство доступа. Этот интерфейс обеспечивает высокую степень
универсальности, в результате одно и то же приложение может получать
доступ к данным, хранящихся в базах различных целевых СУБД, без не-
обходимости внесения изменений в его программный текст. Таким обра-
зом, разработчики получили инструмент для создания и распространения
приложений архитектуры «клиент-сервер», способных работать с широ-
ким спектром различных целевых СУБД, а связать приложения с любой
выбранной целевой СУБД можно посредством соответствующего ODBC-
драйвера.
Курс
434
Основы SQL