淺談pl/sql

dbhelper發表於2014-11-26

關於pl/sql,可能大家熟悉而又陌生,熟悉是因為大家在工作中老是寫sql,如果稍微改動一些,加入begin,end和控制結構,就是pl/sql了。:)
今天和大家簡單討論一下pl/sql。不談技術細節,泛泛而談。
我自己在以前的總結中提出了以下幾個問題,自己來按照這個思路來解答一下,可能大家印象中的pl/sql和sql還是有很大的差別的。

說到pl/sql,不得不提到ada語言,因為pl/sql是基於ada語言來建模的,是美國國防部耗時20年研發成功的。

而且Ada語言是 美國國防部指定的 唯一的一種可用於 軍用系統開發的語言,我國軍方也將Ada做為軍內開發標準第四代計算機語言的成功代表。

--&gt先有sql還有pl/sql?

--&gtsql和pl/sql的區別

--&gtSql和pl/sql的聯絡

 

--&gt先有sql還有pl/sql?

一般大家認為這兩個沒啥區別:) 看看下面的產品版本線。

Oracle 6.0 1988年,最初的pl/sql版本

Oracle 7.0 儲存過程,函式,包,自定義型別,集合的支援

Oracle 8.0 版本號同步, pl/sql 8.0, LOB,物件導向,集合(varry和巢狀表)

Oracle 9.1 case,表函式..

Oracle 9.2 XML

Oracle 10.1 2004年,改進的/自動的資料庫管理, 最佳化的編譯器和編譯時警告

Oracle 11.1 2007年,函式結果快取,符合觸發器,continue…

Oracle 11.2 2009年,基於版本的重定義

 

--&gtsql和pl/sql的區別

sql和Pl/sql的區別可能有不少的點,大體有下面的這些。

SQL

–SEQUEL: Structured English QUEry Language

–SQL: Structured Query Language

–使用者只需要說明“做什麼”

–結構化,第四代語言(4GL)

–關聯式資料庫統一的介面語言

–不是嚴格遵循關係模型,基於關係模型

 

 pl/sql

Procedural Language/SQL

”怎麼做”

–--對sql提供了程式導向的擴充套件和補充

–--程式導向程式設計

–--物件導向功能,這個部分也是對資料庫體系的一個擴充套件,儘管物件導向的程式設計很普遍,我們的大部分資料層和業務層還是透過關係型的思路來做。

–--主要編寫伺服器端程式

 

Sql和pl/sql的聯絡

pl/sql完全支援sql

sql中可以呼叫pl/sql

關於pl/sql和sql還是有很大的技術細節,可以認為pl/sql是實現更為複雜的商業邏輯支撐,對sql的更加全面的擴充套件,雖然兩者的問題出發點不同。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8494287/viewspace-1347006/,如需轉載,請註明出處,否則將追究法律責任。