Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Средства, предлагаемые стандартом SQL для внедрения сложной бизнес-логики

Средства, предлагаемые стандартом SQL для внедрения сложной бизнес-логикиСредства, предлагаемые стандартом SQL для внедрения сложной бизнес-логики, не совсем адекватны. В SQL:2003 определены серверные модули, однако детали их реализации в разных СУБД далеки от стандарта, в том числе по синтаксису. В Oracle используются собственные процедурные расширения PL/SQL. В Microsoft SQL Server 2008 применяется собственный диалект Transact-SQL. IBM предлагает свой язык SQL PL, который Процедурные расширения (равно как языки Java и семейства. NET) выходят за рамки рассмотрения данной книги; далее будут приведены только очень простые примеры их использования в задачах обеспечения безопасности. Следующая простая процедура обеспечивает вставку строк в таблицу CUSTOMER базы данных ACME. В приводимом примере предполагается существование таблицы delinquent_cus —

А теперь рассмотрим сам сценарий вставки данных. Приложение, вызывающее хранимую процедуру sp_cust_insert, передает ей семь параметров. Одним из них является название клиента. Перед вставкой данных в таблицу CUSTOMER процедура проверяет, не внесен ли он в список неплательщиков, и только в случае его отсутствия в таблице DELINQUENT_CUSTOMER запись добавляется. В противном случае генерируется ошибка с описанием и значением ее частоты. В данной процедуре использован язык Transact-SQL (его рассмотрение выходит за рамки книги). Синтаксис в приведенном примере был максимально упрощен, чтобы как можно меньше загружать дополнительными параметрами инструкцию. Синтаксис Oracle и IBM DB2 может существенно отличаться, хотя основные принципы остаются теми же.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *