Каковы причины того, что Microsoft внедрила свое собственное расширение SQL
как Transact SQL
(T-SQL
)?
Чтобы сделать вашу жизнь проще.
Каковы его преимущества перед обычными SQL
?
Нет такой вещи, как "нормальная SQL
"
Transact-SQL
одновременно увеличивает основанные на множестве способности SQL
и добавляет процедурные способности.
Другие системы (например, Oracle
и PostgreSQL
) четко различают SQL
и процедурные языки (PL/SQL
и pl/PgSQL
).
Microsoft не проводит такого строгого различия.
Transact-SQL
был разработан Sybase
примерно в середине 80's
, когда вообще не было стандарта (первый был предложен в 1986
).
К тому времени у каждого поставщика уже было бремя поддержки устаревших приложений, и переписывание их баз данных в соответствии со стандартом нарушило бы совместимость.
Существует более или менее общепринятый стандарт, SQL:92
, но он все еще очень сильно скучает, чтобы быть действительно полезным.
Вот почему почти каждая задача, кроме простого SELECT
с JOIN
, нуждается в некоторой фирменной поддержке для эффективной реализации.