T-SQL vs. PL-SQL
T-SQL
TSQL is a proprietary procedural language used by Microsoft in SQL Server.
PL-SQL
PL/SQL is a proprietary procedural language used by Oracle
Microsoft’s T-SQL is similar to Oracle’s PL-SQL to some extent, sharing with some basic difference as below
- Difference in data type, There are many different data type. Sharing few as below …
T-SQL | PL-SQL |
Integer, SmallInt etc | Number |
Varchar | Varchar2 |
DATETIME, SMALL-DATETIME | Date |
- The default date format of PL-SQL does not include time part.
- In T-SQL, there is no need of dual.
- Example:
- T-SQL Syntax will look like: select getdate()
- PL-SQL will look like: select sysdate from dual
- Example:
- In T-SQL there is an IDENTITY function on the other hand SEQUENCE in PL-SQL.
- In the T-SQL have to use NOT EXISTS clause in Select statement on the other hand in PL-SQL there is MINUS operator.
- SQL Server can have multiple databases on an Instance but Oracle cannot have multiple databases on an Instance.
- T-SQL’s RAISEERROR throws an exception on other hand raise_application_error in PL-SQL.
- In T-SQL, stored procedure do not rollback automatically if something fails. You can use TRY CATCH but still the roll back is optional. In PL-SQL, stored procedures are atomic. Any error inside a stored procedure rolls back up to the point where the stored procedure was called.