1. 程式人生 > >PL/SQL的簡單使用及小細節問題總結

PL/SQL的簡單使用及小細節問題總結

基本使用方法

基本框架

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程式碼不執行

解決方法:輸入”/”執行程式碼