PL SQL 高階語言查詢

2021-07-12 06:04:57 字數 2469 閱讀 5950

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語句來實現,需要借助其他程式來幫助完...