PLSQL簡單的程式之二

skyin_1603發表於2016-11-12

這兩個例子裡面,程式執行的任務是一樣的。這裡其中這兩個例子都
使用了“&employee_id,第二個還使用了%type資料型別(與源表的資料型別保持一致
---
編寫程式塊用來查詢員工號為205員工的工資,並考慮員工號不存在的情況。

hr@PROD>declare

  2  v_esalary number(8,2);

  3  begin

  4  select salary into v_esalary

  5   from employees where employee_id=&employee_id;

  6  dbms_output.put_line('Their salary  are: '||v_esalary);

  7  exception

  8  when no_data_found then

  9  dbms_output.put_line('There is no employee_id found!');

 10  end;

 11  /

Enter value for employee_id: 205

old   5:  from employees where employee_id=&employee_id;

new   5:  from employees where employee_id=205;

Their salary  are: 12008

 

PL/SQL procedure successfully completed.

#程式執行完成,並返回一條資料。

 

---使用賦值變數,輸入一個不存在的員工號,再執行一次上述的程式:

hr@PROD>declare

  2  v_esalary employees.employee_id%type;  

  3  begin

  4  select salary into v_esalary

  5  from employees where employee_id=&employee_id;

  6  dbms_output.put_line('Their salary  are: '||v_esalary);

  7  exception

  8  when no_data_found then

  9  dbms_output.put_line('There is no employee_id found!');

 10  end;

 11  /

Enter value for employee_id: 888

old   5: from employees where employee_id=&employee_id;

new   5: from employees where employee_id=888;

There is no employee_id found!

 

PL/SQL procedure successfully completed.

#該程式執行完成。使用exception來解決不存在資料的情況,來保證程式正常執行。

若不使用exception來丟擲程式中程式執行過程中遇到的異常,則會導致整個程式不能執行。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31392094/viewspace-2128347/,如需轉載,請註明出處,否則將追究法律責任。

相關文章