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

Transact-SQL

Transact-SQLДля объявления переменной в этом языке также используется ключевое слово DECLARE. Все локальные переменные должны иметь префикс @. Глобальные переменные предваряются двумя символами “коммерческого Существует масса незначительных различий между присваиваниями с помощью Назаметку инструкций SET и select. Во-первых, ключевое слово SET определено стандартом ANSI. Будучи частью стандарта, оно значительно короче ключевого слова select. С другой стороны, инструкция SET может быть использовано только для одиночного присваивания (SET Тельные различия касаются программирования клиентских приложений (к примеру, возможность возвращения результирующего набора данных из хранимой процедуры). Более полную информацию можно получить в документации СУБД. Модульность — важное свойство процедурных языков программирования, позволяющее разработчикам облегчить повторное использование кода и скрыть сложность реализации конкретных операций за спиной именованного блока. Существует два уровня модульности. Первый уровень предоставляет возможность создания последовательных логических блоков в одной программе, второй — возможность запуска одних программ из других (первые в свою очередь могут вызвать еще одну программу и т. д.). Несколько процедур и функций могут быть объединены в один пакет. Первый уровень модульности позволяет структурировать программу и обрабатывать ошибки (теме обработки ошибок посвящен отдельный раздел). Последнее особенно удобно реализовано в языке PL/SQL, где каждый блок может иметь собственный раздел EXCEPTION. В процедурных расширениях SQL других производителей СУБД также реализована идея вложенности блоков, что позволяет использовать те же принципы, что и в PL/SQL, а также создавать длинные программы со сложной функциональностью. Детали реализаций описаны в документации СУБД. В следующем примере продемонстрирован второй уровень модульности. Хранимая процедура A вставляет записи в таблицы BB и CC с помощью вызова процедур B и C. Каждая из процедур вставляет записи в соответствующую таблицу с помощью напоминающего PL/SQL псевдокода.