Глава 25. Использование SQL с другими языками программирования
Эта глава научит вас использовать SQL для усиления возможностей про
грамм, написанных на других языках программирования. Непроцедурный харак тер SQL придает ему выразительную силу и влечет ряд ограничений. Для освобождения от ограничений можно встраивать SQL в программы, написанные на том или ином языке программирования. Для примеров в этой главе выбран язык Pascal, поскольку он является простейшим и имеет (полуофициальный) стан
дарт ANSI.
Что включается во встроенный SQL?
Чтобы встроить SQL в другой язык программирования, следует воспользоваться программным продуктом, позволяющим включить SQL в этот язык и применять кон струкции SQL так же естественно, как и конструкции самого языка. При этом нужно знать язык программирования. Команды SQL используются для работы с таблицами базы данных, для передачи выходных данных в программу, в которую встроен SQL, и для ввода данных из программы в таблицы базы данных. Программа называется вклю чающей (host program) (она может получать данные или передавать их пользователю в интерактивном режиме, а может и не делать этого).
Почему SQL называется встроенным?
В этой книге много говорилось о возможностях SQL. SQL состоит из множества отдельных команд, в то время как интерактивный SQL обычно выполняется по одной команде за один такт работы SQL-системы. Логические конструкции, испqльзуемые в
большинстве структурных языков программирования, такие как if ". theп, for ... do и while ... repeat, в SQL отсутствуют, и не имеется базы для принятия решения: стоит ли выполнять действие, как выполнять действие и как долго выполнять действие, осно вываясь на результатах его последнего выполнения. Кроме того, интерактивный SQL не может выполнять никаких действий со значениями, за исключением их ввода в таб лицы, их нахождения и вывода с помощью запросов непосредственно на какое-либо
устройство.
Но более традиционные языки программирования являются в этом плане более мощными. Они проектировались и разрабатывались так, чтобы программист мог на чать процесс и, базируясь на его результатах, решить, какое именно действие требует ся выполнить, либо повторять действие до тех пор, пока удовлетворяется некоторое условие, создавая логические пути и циклы. Значения хранятся в переменных, кото рые могут использоваться и изменяться любым количеством команд. Это дает возмож
ность выдавать пользователям приглашение для ввода значений или для чтения их из
файла, форматировать выходные данные подходящим образом (например, преобразо вывать числовые данные в диаграммы).