跳转到内容

PL-SQL

维基百科,自由的百科全书

这是本页的一个历史版本,由Zhkai121212留言 | 贡献2012年1月31日 (二) 17:35 條件:​ 内容扩充 从英文条目中翻译"条件语句")编辑。这可能和当前版本存在着巨大的差异。

PL/SQL(Procedural Language/SQL)是甲骨文公司專有的SQL擴展語言,應用在甲骨文公司Oracle資料庫系統。一些的SQL資料庫管理系統也提供了類似的擴展SQL語言。 PL/SQL的的語法非常類似於Ada,而且像1980年代的Ada編譯器一樣,PL/SQL的運作系統使用Diana作為中介語言

重要的是PL/SQL緊密的結合在Oracle資料庫裡面。

PL/SQL是Oracle數據庫使用的三種語言的其中之一,另外兩個是SQLJava

歷史

功能

基本程式

条件语句

以下的代码展示了IF-THEN-ELSIF结构。ELSIF和ELSE部分是可选的,从而可以创建更简单的IF-THEN或者IF-THEN-ELSE结构。

IF x = 1 THEN
   sequence_of_statements_1;
ELSIF x = 2 THEN
   sequence_of_statements_2;
ELSIF x = 3 THEN
   sequence_of_statements_3;
ELSIF x = 4 THEN
   sequence_of_statements_4;
ELSIF x = 5 THEN
   sequence_of_statements_5;
ELSE
   sequence_of_statements_N;
END IF;

CASE语句简化了一些大的IF-THEN-ELSE结构。

CASE
   WHEN x = 1 THEN sequence_of_statements_1;
   WHEN x = 2 THEN sequence_of_statements_2;
   WHEN x = 3 THEN sequence_of_statements_3;
   WHEN x = 4 THEN sequence_of_statements_4;
   WHEN x = 5 THEN sequence_of_statements_5;
   ELSE sequence_of_statements_N;
END CASE;

CASE语句可以使用预定义的选择符:

CASE x
   WHEN 1 THEN sequence_of_statements_1;
   WHEN 2 THEN sequence_of_statements_2;
   WHEN 3 THEN sequence_of_statements_3;
   WHEN 4 THEN sequence_of_statements_4;
   WHEN 5 THEN sequence_of_statements_5;
   ELSE sequence_of_statements_N;
END CASE;

陣列

迴圈

類似的語言

功能近似PL/SQL的程序語言和其他關係型資料庫:

Sybase ASEMicrosoft SQL ServerTransact-SQLPostgreSQL資料庫的PL/pgSQL(模仿PL/SQL)和IBM DB2SQL PL[1],都符合ISO SQLSQL/PSM標準。

參考

外部連結