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

Диалекты SQL

Постоянное развитие стандарта SQL способствовало появлению среди разных производителей и платформ многочисленных диалектов SQL. Эти диалекты развивались главным образом потому, что сообществу пользователей конкретной базы данных требовались какие-то возможности, до того как комитет ANSI разрабатывал стандарт. Однако иногда новую функциональность вводит научно-исследовательское сообщество по причине давления со стороны конкурирующих технологий. Например, многие производители баз данных к существующим возможностям программирования своих продуктов добавляют Java (как это делается в DB2, Oracle и Sybase) или VBScript (как это делает Microsoft). В будущем программисты и разработчики будут использовать эти языки программирования в SQL программах наряду с самим SQL.

Многие из этих диалектов включают средства условной обработки (например, под контролем оператора IF… THEN), управляющие операторы (например, циклы WHILE), переменные и обработку ошибок. Поскольку ANSI пока не разработал стандарты для такой важной функциональности, а пользователи уже требуют ее, разработчики реляционных СУБД были вправе создавать свои собственные команды и синтаксис. Фактически многие из наиболее старых разработчиков сохранили с 80-х годов свои варианты самых элементарных команд (например, SELECT) поскольку их реализация предшествовала появлению стандарта. Сейчас ANSI производит уточнение стандартов, чтобы сгладить эти несоответствия.

В некоторых диалектах для обеспечения более полной функциональности языка программирования введены процедурные команды. Например, процедурные реализации содержат команды для обработки ошибок, операторы, контролирующие направление выполнения программы, условные команды, средства работы с переменными и массивами, а также многие другие дополнения. Хотя все эти процедурные реализации являются технической дивергенцией языка, здесь они называются диалектами. Пакет SQL/PSM (Persistent Stored Module) предлагает широкий спектр функциональности, связанной с хранимыми программными процедурами, и включает в себя многие расширения, содержащиеся в таких диалектах.

Используется в Oracle. PL/SQL — это сокращение от Procedural Language/SQL. Он во многом похож на язык Ada.

Используется в Microsoft SQL Server и Sybase Adaptive Server. По мере того как Microsoft и Sybase все больше отходят от общей платформы, которую они использовали в начале 90-х годов, их реализации Transact-SQL также подвергаются дивергенции.

Источник