SQL-PL與SQL
T-SQL(Transact-SQL)是Microsoft開發的SQL的擴展。Microsoft SQL Server中使用了T-SQL。PL/SQL(過程語言/結構化查詢語言)也是Oracle開發的SQL的過程擴展。PL/SQL是嵌入到Oracle數據庫中的一種主要編程語言。
PL/SQL語言
PL/SQL是Oracle開發的SQL的過程擴展。PL/SQL程序是由塊組成的,它是PL/SQL的基本單元。PL/SQL提供了對變量、循環(WHILE循環、for循環和Cursor for loops)、條件語句、異常和數組的支持。PL/SQL程序包含SQL語句。這些SQL語句包括SELECT、INSERT、UPDATE、DELETE等。PL/SQL程序中不允許使用CREATE、DROP或ALTER等SQL語句。PL/SQL函數可以包含PL/SQL語句和SQL語句,並返回一個值。另一方面,PL/SQL過程不能包含SQL語句,並且不返回值。PL/SQL還支持一些面向對象的編程概念,如封裝、函數重載和信息隱藏。但它不支持繼承。在PL/SQL中,包可用於對函數、過程、變量等進行分組。包允許代碼重用。在oracleserver上使用PL/SQL代碼可以提高性能,因為oracleserver在實際執行PL/SQL代碼之前對其進行了預編譯。
T-SQL語言
T-SQL是微軟開發的SQL的擴展。通過添加一些支持SQL/T的過程化數據處理功能,擴展了SQL/string等函數。這些特性使T-SQL圖靈變得完整。任何需要與microsoftsqlserver通信的應用程序都需要向microsoftsqlserver發送一條T-SQL語句。T-SQL使用以下關鍵字提供流控制功能:BEGIN和END、BREAK、CONTINUE、GOTO、IF和ELSE、RETURN、WAITFOR和WHILE。此外,T-SQL允許在DELETE和UPDATE語句中添加FROM子句。這個FROM子句允許在中***接來刪除和更新語句。T-SQL還允許使用bulkinsert語句在表中**多行。這將通過讀取包含數據的外部文件在表中**多行。與對需要**的每一行使用單獨的INSERT語句相比,使用大容量**可以提高性能。
PL/SQL和T-SQL有什麼區別?