Как уже отмечалось, в каждой СУБД производится расширение SQL, причем во многих случаях такие расширения доходят до создания языков программирования, включающих все возможности языка SQL. Так, например, в Microsoft SQL Server таким расширение является язык Transac-SQL, в Oracle – язык PL/SQL. Каждый из таких языков обладает возможностями обычных языков программирования, плюс все возможности стандарта ANSI SQL, плюс характерные только для конкретной СУБД расширения SQL.
Кроме того, многие СУБД предоставляют средства для использования SQL в традиционных языках программирования. Здесь используются два метода использования языка.
Статический SQL означает вкладывание предложений SQL непосредственно в программный код, который не может быть изменен в процессе выполнения программы. Как правило, статический SQL требует предкомпилятора. Например, Oracle имеет предкомпиляторы для использования SQL в языках С, Pascal, Ada, COBOL, FORTRAN.
Динамический SQL позволяет программировать построение SQL предложений, которые создаются в момент выполнения программы и передаются СУБД. СУБД возвращает найденные данные в переменные программы, которые затем обрабатываются.
Литература
1. Грабер М. Введение в SQL. М.: Лори, 1996, 376 с.
2. Teach Yourself SQL in 21 days, Second Edition. – http://vic.nsau.edu.ru/drosophila/tech/asl21/