標籤:
PL/SQL
PL/SQL是一種塊結構的語言,它是將一組語句放在一個塊中,一次性發送給伺服器。它是結合Oracle過程語言和結構化查詢語言 (SQL)的一種擴充語言
PL/SQL代碼塊的構成
declare --標記聲明部分用來聲明一些變數,位於begin之前
begin --主程式體開始的標誌
主程式體塊;
[exception
when 異常名 then 異常處理的方法;
when 異常名 then 異常處理的方法;
...
when other then 異常處理的方法;]
end; --主程式題結束的標誌
PL/SQL的常量和變數
變數的定義:
declare --用來聲明變數
變數名 變數類型; --直接定義不賦初值
變數名 變數類型:=變數值; --定義變數並且賦初值
變數名 匹配的資料庫中原有的值; --直接使用資料庫中原有的值來匹配 例(name person.name%type)
常量的定義:
常量名 constant 資料類型:=值; --注意constant是必須的
(宿主常量:定義和普通的常量定義一樣,使用時為:變數名 代碼如下:)
var emp_name varchar(30); BEGIN SELECT ename INTO :emp_name FROM emp WHERE empno=7499; ② END;
PL/SQL中運算子
類型 符號 說明
賦值運算子 := PL/SQL中的賦值
特殊字元 || 字串串連符
-- PL/SQL中的單行注釋
/*,*/ PL/SQL中的多行注釋,多行注釋不能嵌套
<<,>> 標籤分割符,只為了標示程式中的特殊位置
.. 範圍操作符比如:1..5標示從1到5
算術運算子 + - * / 基礎算術運算子
** 求冪操作例子:2**3=8
關係運算子 > ,< ,>=, <=, = 基本關係運算子
<>,!= 不等於運算子
邏輯運算子 and,or,not 邏輯運算子
PL/SQL程式的主體執行部分
指派陳述式:
(1)接收使用者的輸入:
declare n int; --定義一個變數來接收使用者輸入的數值begin n:=&a; --彈出一個訊息框進行輸入end;
(2)從查詢結果中賦值
set serveroutput on;declaren number(4);begin select empno into n from emp where=‘7369‘;dnms_output.put(n);end;
PL/SQL控制語句
(1)if...then elsif … then end if;
判斷if正確則執行then,否則執行else(elsif為嵌套判斷)
注意elsif,裡面少一下e.
(2)Case var when … then when … then end
有邏輯的從數值中做出選擇
(3)Loop exit end loop
迴圈控制,用判斷語句執行exit
(4)Loop exit when … end loop
同上,當when為真時執行exit
(5)while 條件 loop 迴圈體 end loop
當while為真時迴圈
(6)for 迴圈變數 in [rerverse意思是反轉即從上限想下限迴圈] 迴圈下限..迴圈管上限 loop 迴圈體 end loop
已知迴圈次數的迴圈
ORACLE資料庫筆記之PL/SQL