PL/SQL的簡單使用及小細節問題總結
阿新 • • 發佈:2018-12-30
基本使用方法
基本框架
declare
//宣告變數部分
//格式:變數名:變數型別 [賦初值:=value];
//兩個比較特殊的變數型別(記錄型別)%type:該變數與表中某資料型別相同;%rowtype:該變數與表的資料型別相同。
//例如:v_ename emp.ename%type; rec_emp emp%rowtype;%rowtype可以理解為物件或者結構體
begin
//運算部分
//可以單純地當作一個程式語言,也可以結合sql語句實現功能,後面會有舉例
exception
//處理異常
end;//結束標誌
/ //執行
宣告變數並輸出
declare
v_no varchar(12 ) := '123';
v_name varchar(6) := 'zwq';
begin
dbms_output.put_line('學號:'||v_no||',姓名:'||v_name);
end;
/
輸出30號部門部門名稱和員工數(%type)
declare
v_dname dept.dname%type;
v_count int;
begin
select dname into v_dname from dept where deptno = 30;
//into 可以看做將前面查出來的資料dname放入v_dname變數中
select count (*) into v_count from emp where deptno = 30;
dbms_output.put_line('部門名稱:'||v_dname||',員工數:'||v_count);
end;
/
輸出emp表第1條記錄員工的工號、經理號和工種(%rowtype)
declare
emp_type emp%rowtype;
begin
select * into emp_type from emp where rownum = 1;
//把查詢出來的資料全部放入emp_type中
dbms_output.put_line('工號:'||emp_type.empno||',經理號:' ||emp_type.mgr||',工種:'||emp_type.job);
//用 . 呼叫資料
end;
/
常見小問題
執行輸出語句不報錯但無輸出
解決方法:開啟輸出包服務
set serveroutput on;
輸入PL/SQL程式碼不執行
解決方法:輸入”/”執行程式碼