1.資料定義語言 ddl
2.資料操作語言 dml
3.資料控制語言 dcl
pl/sql 語言實現了將過程結構和oracle sql的無縫整合
1.有利於客戶伺服器環境的執行。
2.分為資料庫pl/sql和工具pl/sql,在客戶端可將pl/sql嵌入到到工具中
declare
i number; – 宣告變數
name employees.first_name%type; – 列型別
rows employees%rowtype; – 行型別
– **塊
begin
i := 10; – 賦值
–輸出
dbms_output.put_line(『i = 』 || i);
end;
1.簡單的迴圈
—s輸出2 4 6 8 10
declare
i number :=2;—–賦值『:=』
begin
while(i<=10) loop—-while迴圈如果相等用『=』
dbms_output.put_line(i||』hello word』);
i:=i+2;
end loop;
end; —–注意:end後加;
—exit when
declare
i number :=2;–賦值
begin
loop
dbms_output.put_line(i||』hello word』);
exit when i=10; –要有;
i:=i+2;
end loop;
end;
—for迴圈
declare
k number;
begin
for i in 1..5 loop
k:=i*2;
dbms_output.put_line(k||』hello word』);
end loop;
if elsif語句
declare
score number;
begin
score:=&score;
if score >= 90 then
dbms_output.put_line(『成績a』);
elsif (score >= 80) then – elsifzhu注意中間沒有e
dbms_output.put_line(『成績b』);
elsif score >= 60 then – elsif
dbms_output.put_line(『成績c』);
else—-最後乙個用else
dbms_output.put_line(『測試不通過『);
end if; – 結束if語句
end;
練習
1.–查詢50號部門 工資最低的編號 first_name
declare
did employees.department_id%type;
eid number;
name employees.first_name%type;
begin
did:=&did;—–輸入員工id
select employee_id,first_name into eid,name
from employees—-先查到員工工資最低
where salary = (select min(salary) from employees where department_id=did)
and department_id=did;
dbms_output.put_line(『50號部門最低工資 員工 :』 || eid || 『,』 || name);
end;
2.– 100元 100雞 公雞 5 /個 母雞 3 小雞 3 / 1元
演算法:100=i * 5 + j * 3 + k / 3 ;
100 = i + j + k;
declare
k number;
begin
for i in 0..20 loop
for j in 0..33 loop
k:= 100 - i - j;– 小雞數量
if i * 5 + j * 3 + k / 3 = 100 then
dbms_output.put_line(『公雞: 』 || i || 『, 母雞: 』 || j || 『, 小雞: 』 || k);
end if;
end loop;
end loop;
end;
PL SQL 異常高階概念
做好了準備想要接受難一點的概念,結果發現,其實這一章很水。orerror number是與特定錯誤訊息相關聯的錯誤編號,這個編號的範圍在 20999到 20000之間 避免與內建編號衝突 keep errors是boolean型別,決定是否加入錯誤棧 true 或者替換錯誤棧 false 預設是fa...
PL SQL 多表查詢
第四章 多表查詢 4.1 笛卡兒乘積 cross join 1 當多表關聯查詢中沒有關聯條件 或者關聯條件是恒等的時候 如1 1 就會產出笛卡兒乘積。2 t1有m行 t2有n行,則笛卡兒乘積返回m n行。4.2 連線型別 1 如果有n個表連線,則連線條件至少應該有n 1個 如果用到復合主鍵進行連線,...
PL SQL程式語言
pl sql procedure language sql 示例1 為職工漲工資,每人漲10 的工資。update emp set sal sql 1.1 示例2 按職工的職稱漲工資,總裁漲1000元,經理漲800元,其他人員漲400元。這樣的需求無法用一條sql語句來實現,需要借助其他程式來幫助完...