PL-SQL
外观
此條目需要擴充。 (2011年10月12日) |
![]() | 此條目需要精通或熟悉相关主题的编者参与及协助编辑。 (2011年10月12日) |
PL/SQL(Procedural Language/SQL)是甲骨文公司專有的SQL擴展語言,應用在甲骨文公司的Oracle資料庫系統。一些的SQL資料庫管理系統也提供了類似的擴展SQL語言。 PL/SQL的的語法非常類似於Ada,而且像1980年代的Ada編譯器一樣,PL/SQL的運作系統使用Diana作為中介語言。
重要的是PL/SQL緊密的結合在Oracle資料庫裡面。
PL/SQL是Oracle數據庫使用的三種語言的其中之一,另外兩個是SQL和Java。
歷史
功能
基本程式
条件语句
以下的代码展示了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;
陣列
迴圈
類似的語言
Sybase ASE、Microsoft SQL Server的Transact-SQL,PostgreSQL資料庫的PL/pgSQL(模仿PL/SQL)和IBM DB2的SQL PL[1],都符合ISO SQL的SQL/PSM標準。