Глава 25. Использование SQL с другими языками программирования
для выяснения рассматриваемой здесь ситуации нужно выполнить проверку индикатора
переменной на > О, а не на < О.
Итоги
SQL-команды включаются в процедурные языки программирования для комбиниро вания сил двух подходов. Реализации такой возможности требует некоторых расширений SQL. Команды встроенного SQL транслируются с помощью программы, названной пред компилятором (препроцессором), для создания программы, понятной компилятору языка высокого уровня. Команды встроенного SQL заменяются вызовом подпрограмм, которые
создаются с помощью встроенного препроцессора; эти подпрограммы называются моду
лями доступа. С помощью такого подхода ANSI поддерживает встроенный SQL для язы ков программирования Pascal, FORTRAN, COBOL, PL/1. Другие языки также используются разработчиками. Наиболее важным из них является С.
При описании встроенного SQL следует обратить особое внимание на следующее:
• Все встроенные команды SQL начинаются словами ЕХЕС SQL и заканчивают
ся в зависимости от используемого языка высокого уровня.
•Все переменные языка высокого уровня, используемые в командах SQL, долж ны быть внесены в раздел описаний SQL до своего применения.
•Если в командах SQL используются переменные языка высокого уровня, перед их именами необходимо указывать двоеточие.
•Выходные данные для запросов могут храниться непосредственно в перемен ных языка высокого уровня с помощью INTO тогда и только тогда, когда за прос выбирает единственную строку.
•Курсоры могут применяться для хранения выходных данных запроса и для дос тупа к ним по одной строке за один цикл обработки. Курсоры объявляются
(вместе с определением запроса, выходные данные которого содержит курсор), открываются (что соответствует выполнению запроса) и закрываются (что со
ответствует удалению выходных данных из курсора, разрыву связи между вы
ходными данными и курсором). Пока курсор открыт, можно использовать команду FETCH для доступа к выходным данным запроса: по одной строке для
каждого выполнения команды FETCH.
• Курсоры могут быть обновляемыми или "только для чтения". Чтобы быть об
новляемым, курсор должен удовлетворять всем тем критериям, что и представ
ление. Он не должен использовать предложения ORDER ВУ и UNION, которые запрещено применять в представлении. Необновляемый курсор является курсо ром "только для чтения".