Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
__________.doc
Скачиваний:
32
Добавлен:
20.02.2016
Размер:
550.91 Кб
Скачать

60Встраивание sql в прикладные программы.

Язык SQL можно использовать при написании прикладных программ на определенных языках программирования исключительно для управления БД. По мере надобности в эти программы «встраиваются» команды SQL .

Цель встроенных SQL – объединение возможностей языка программирования с реализованными посредством SQL механизмами работы со структурированными данными в БД.

- команды SQL помещают в исходный код главной программы; - им предшествует фраза ЕХЕСSQL (Execute SQL); - далее устанавливаются некоторые команды, которые являются специальными для вложенной формы SQL.

Для вставки команды SQL в текст, написанный на другом языке, перед окончательной компиляцией необходимо выполнить прекомпиляцию.

Программы, называющиеся прекомпиляторами (препроцессорами), просматривают текст программы с преобразованием в форму SQL, удобную для исполнения базовым языком.

Обычно транслятор преобразует программу из исходно текста в исполняемый код.

Для пересылки данных из БД в программу используются спец. Команды SQL: Declare, Open, Fetch, Close, предназначенные для работы с курсором – переменной, связанной с запросом.

Declare – описывает выполняемый запрос и связывает имя курсора с результатом запроса. Определяет набор записей, в который будут возвращены результаты запроса.

Open – дает команду СУБД начать выполнение запроса и создавать таблицу результатов запроса.

Fetch – считывает данные запроса в переменную прикладной программы (считывает курсор из результатов запроса).

Close – прекращает доступ к таблице результатов запроса и ликвидирует связь между курсором и этой таблицей.

63. Диалекты языка sql в субд.

Несм. на наличие междунар-го станд-та ANSI SQL, многие компании, занимающиеся разработкой СУБД, вносят изменения в язык SQL. Каждая из реализаций языка SQL в конкретной СУБД называется диалектом. Ф-ии, к-ые добавляются к стандарту языка разработчиками коммерческих реализаций – это расширения. Нп, в стандарте языка SQL определены конкретные типы данных, которые могут хран-ся в бд. Во многих реализациях этот список расширяется за счет дополнений. 3 уровня соответствия стандарту ANSI/ISO — начальный, промежуточный и полный. Произв-ли СУБД (Oracle, Microsoft, Borland, Informix, Sybase) применяют реализации SQL, отвечающие как минимум начальному уровню и содержащие некоторые расширения, специфические для данной СУБД. Не существует двух совершенно идентичных диалектов. И поскольку разработчики вводят в сис-мы все новые средства, они расширяют свои диалекты языка SQL, в рез-те чего отдельные диалекты больше отличаются друг от друга. достоинства : более широкие возм-сти по срав-ию со станд-том SQL, нп, больше типов данных, большее количество команд, больше дополнительных возможностей у имеющихся команд. Кроме того, такие нестандартные возм-сти языка со временем могут быть вкл. в стандарт. Недостаток в том, что различия в синтаксисе реализаций SQL затрудняют перенос приложений из одной системы в другую. В широко распространенных в настоящее время СУБД используются следующие диалекты языка SQL: PL/SQL – в СУБД Oracle; Transact-SQL – в СУБД Microsoft SQL; Informix-SQL – в СУБД Informix; Jet SQL – Microsoft Access. Язык Jet SQL почти соответствует стандарту ANSI SQL. Основные различия языков Jet SQL и ANSI SQL состоят в следующем:

они имеют разные наборы зарезервированных слов и типов данных;

разные правила применимы к оператору Between, используемому для определения условий выборки записей;

подстановочные знаки ANSI и Microsoft Jet, которые используются в операторе Like, различны;

язык Jet SQL обычно предоставляет пользователю большую свободу, например, разрешается группировка и сортировка по значению выражения;

язык Jet SQL позволяет использовать более сложные выражения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]