PL-SQL против T-SQL
T-SQL (Transact SQL) - это расширение SQL, разработанное Microsoft. T-SQL используется в Microsoft SQL Server. PL / SQL (процедурный язык / язык структурированных запросов) также является процедурным расширением для SQL, разработанным Oracle. PL / SQL - основной язык программирования, встроенный в базу данных Oracle.
PL / SQL
PL / SQL - это процедурное расширение для SQL, разработанное Oracle. Программы на PL / SQL состоят из блоков, которые являются основной единицей PL / SQL. PL / SQL обеспечивает поддержку переменных, циклов (циклов WHILE, циклов FOR и циклов Cursor FOR), условных операторов, исключений и массивов. Программа PL / SQL содержит операторы SQL. Эти операторы SQL включают SELECT, INSERT, UPDATE, DELETE и т. Д. Операторы SQL, такие как CREATE, DROP или ALTER, не допускаются в программах PL / SQL. Функции PL / SQL могут содержать операторы PL / SQL и операторы SQL и возвращают значение. Процедуры PL / SQL, с другой стороны, не могут содержать операторы SQL и не возвращают значение. PL / SQL также поддерживает некоторые концепции объектно-ориентированного программирования, такие как инкапсуляция, перегрузка функций и сокрытие информации. Но это не поддерживает наследование. В PL / SQL пакеты можно использовать для группировки функций, процедур, переменных и т. Д. Пакеты позволяют повторно использовать код. Использование кода PL / SQL на сервере Oracle приведет к повышению производительности, поскольку сервер Oracle предварительно компилирует код PL / SQL перед его фактическим выполнением..
T-SQL
T-SQL - это расширение SQL, разработанное Microsoft. T-SQL расширяет SQL, добавляя несколько функций, таких как процедурное программирование, локальные переменные и вспомогательные функции для обработки строк / данных. Эти функции делают T-SQL Turing завершенным. Любое приложение, которое должно взаимодействовать с сервером Microsoft SQL, должно отправлять оператор T-SQL на сервер Microsoft SQL. T-SQL предоставляет возможности управления потоком, используя следующие ключевые слова: BEGIN и END, BREAK, CONTINUE, GOTO, IF и ELSE, RETURN, WAITFOR и WHILE. Кроме того, T-SQL позволяет добавлять предложение FROM в операторы DELETE и UPDATE. Это предложение FROM позволит вставлять соединения в операторы DELETE и UPDATE. T-SQL также позволяет вставлять несколько строк в таблицу с помощью оператора BULK INSERT. Это вставит несколько строк в таблицу, прочитав внешний файл, содержащий данные. Использование BULK INSERT повышает производительность, чем использование отдельных операторов INSERT для каждой строки, которая должна быть вставлена.
В чем разница между PL / SQL и T-SQL?
PL / SQL является процедурным расширением SQL, предоставляемым Oracle, и используется с сервером базы данных Oracle, тогда как T-SQL является расширением SQL, разработанным Microsoft, и в основном используется с Microsoft SQL Server. Существуют некоторые различия между типами данных в PL / SQL и T-SQL. Например, T-SQL имеет два типа данных, называемых DATETIME и SMALL-DATETIME, в то время как PL / SQL имеет единственный тип данных, называемый DATE. Кроме того, чтобы получить функциональность функции DECODE в PL / SQL, в T-SQL должен использоваться оператор CASE. Кроме того, вместо оператора SELECT INTO в T-SQL, оператор INSERT INTO должен использоваться в PL / SQL. В PL / SQL есть оператор MINUS, который можно использовать с инструкциями SELECT. В T-SQL те же результаты можно получить, используя предложение NOT EXISTS с инструкциями SELECT.