SQL語句、PL/SQL塊和SQL*Plus命令之間的區別
原文鏈接:https://blog.csdn.net/liuzhushiqiang/article/details/12320941
在SQL*Plus中可以處理三種類型的命令:SQL語句、PL/SQL塊和SQL*Plus命令,但三者之間是有區別的。
1)SQL語句是以數據庫為操作對象的語言,主要包括數據定義語言DDL、數據操縱語言DML和數據控制語言DCL以及數據存儲語言DSL。當輸入SQL語句后,SQL*Plus將其保存在內部緩沖區中。
當SQL命令輸入完畢時,有三種方法可以結束SQL命令:在命令行的末尾輸入分號(;)並按回車;在單獨一行上用斜杠(/);或用空行表示。
2)PL/SQL塊同樣是以數據庫中的數據為操作對象。但由於SQL不具備過程控制功能,所以,為了能夠與其他語言一樣具備面向過程的處理功能,在SQL中加入了諸如循環、選擇等面向過程的處理功能,由此形成了PL/SQL。所有PL/SQL語句的解釋均由PL/SQL引擎來完成。使用PL/SQL塊可編寫過程、觸發器和包等數據庫永久對象。
3)SQL*Plus命令主要用來格式化查詢結果、設置選擇、編輯及存儲SQL命令、以設置查詢結果的顯示格式,並且可以設置環境選項。
pl/sql 是oracle的一門語言,它包括標准SQL,oracle擴展SQL,oracle自定義函數,存儲過程,觸發器,包...
而sql*plus是運行解釋pl/sql的程序,你可以在sql*plus里運行sql語句。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
打個比方
pl/sql -> C++語言
sql*plus -> Microsoft Visual C++ 6.0編譯器
pl/sql 是oracle的擴展SQL后的語言,它包括標准SQL,oracle擴展SQL,oracle自定義函數,存儲過程,觸發器,包...
而sql*plus是運行解釋pl/sql的程序,你可以在sql*plus里運行sql語句,是實現用戶對數據庫系統進行管理的一種工具!
SQL是一種結構化查詢語言,所有的數據庫查詢都是這種語言。
而T-SQL即:Transact-SQL是對上述語言的一種再加工,使之更加完美,實用。
例如:oracle和sqlserver的語言就有所不一樣。
SQL是一種結構化查詢語言,相當於一個標准,T-SQL是其中的一種,可移植性不高。
SQL是標准,但各個廠商可能對標准加工加入自己的函數、類型等等。
比如MS 的T-SQL ORACLE的PL/SQL