В чем разница между PL / SQL и T-SQL? - PullRequest
9 голосов
/ 25 марта 2011

Все, что я знаю, это то, что первое - это Oracle, а второе - SQL Server. Я предполагаю, что некоторые вещи могут быть проще в одном против другого, но есть ли определенные вещи, которые я могу сделать в PL, которые я не могу сделать в T?

Есть ли фундаментальные различия, о которых я должен знать? Если да, то что они?

Ответы [ 5 ]

7 голосов
/ 25 марта 2011

Единственное принципиальное отличие состоит в том, что PL / SQL - это процедурный язык программирования со встроенным SQL, а T-SQL - это набор процедурных расширений для SQL, используемых MS SQL Server. Синтаксические различия являются основными. Вот пара хороших статей о конвертации между ними:

7 голосов
/ 25 марта 2011

T-SQL и PL / SQL - это два совершенно разных языка программирования с разным синтаксисом, системой типов, объявлениями переменных, встроенными функциями и процедурами и возможностями программирования.

Единственное, что у них общего, - это прямое встраивание операторов SQL, а также хранение и выполнение внутри базы данных.

(В Oracle Forms PL / SQL даже используется для клиентского кода, хотя интеграция с PL / SQL, хранящимся в базе данных, (почти) кажется (почти) невозможной)

3 голосов
/ 25 марта 2011

Один небольшой бит, который я могу добавить, - это взять то, что вы знаете, в одном, а при использовании другого забыть то, что вы знаете (за исключением использования логики, основанной на множестве, когда это возможно).

Одним из примеров различий является то, что курсоры обычно считаются менее идеальным решением в T-SQL, если только нет действительно веской причины использовать их, чего часто нет.В Oracle курсоры гораздо более оптимизированы, например, они обладают большими возможностями, то есть способностью работать с набором данных, так же, как это делает обычный оператор SQL.Таким образом, в Oracle использование курсора - это не мгновенный анализ кода, который может оказаться неудачным при проверке кода TSQL.

В целом T-SQL гораздо проще выучить, так как в отношении языков его не так много,PL / SQL - более богатый язык, и поэтому более сложный.Это не сложный язык для подбора, если есть хорошая книга.В целом мне очень нравится PLSQL за его глубину, и мне очень нравится TSQL за его простоту.

3 голосов
/ 25 марта 2011

Они не обязательно проще, просто разные - ANSI-SQL - это стандартный код, который разделяется между ними - SELECT, WHERE и другой синтаксис запроса, а T-SQL или PL / SQL - это поток управления и расширенное кодирование, которое добавлено сверху поставщиком базы данных, чтобы вы могли вместе писать хранимые процедуры и строковые запросы.

Можно выполнить несколько запросов, используя только операторы ANSI-SQL, но если вы хотите сделать какие-либо операторы IF или обработать какие-либо ошибки, вы используете больше, чем указано в спецификации ANSI, так что это либо T-SQL, либо PL / SQL (или как его называет производитель, если вы не используете Microsoft или Oracle).

0 голосов
/ 10 ноября 2017

PL / SQL и T-SQL являются расширениями для SQL.PL / SQL используется для баз данных Oracle, а T-SQL используется для баз данных Microsoft.

Вот более полезная информация: http://techdifferences.com/difference-between-t-sql-and-pl-sql.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...