Oracle中函數、存儲過程、觸發器

函數:要有返回類型,返回值。在執行的時候,需要用一個變量來接收執行的結果

Create or replace function han(name vahchar2)

return number 

is

定義一些需要用到的變量

begin 

需要執行的

return 

end;

exec:name:=han("www");

 

函數和存儲過程的區別:

函數一般是用來返回一個計算結果,存儲過程是用來進行數據操作(DML增刪)

函數必須要有一個返回類型,存儲過程不需要

sql語句中不可以調用存儲過程,但是可以調用函數

create or replace procedure Pro(一些數據)

is

begin

end 

 

 

  1. //創建過程  
  2.     create or replace procedure add_emailinfo(namee email_info.fullname%type ,address email_info.email_address%type )  
  3.     is  
  4.     begin  
  5.     insert into email_info(fullname,email_address) values (namee,address);  
  6.     end;  
  7.     //調用過程  
  8.     call add_emailinfo('cherry','asdfsdf');  
  9.     /////////////////////////////////////////////////////////////////////////////////////  
  10.     //創建函數  
  11.     create or replace function  sel_emailinfo(namee email_info.fullname%type )  
  12.     return varchar2 is  
  13.     address varchar2(30);  
  14.     begin  
  15.     select email_address into address from email_info  
  16.     where trim(fullname)=trim(namee);  
  17.     return address;  
  18.     end ;  
  19.     //調用函數  
  20.     select sel_emailinfo('bbb') from dual;  

 

觸發器:

觸發器是你觸動了之後纔會執行

create or replace trigger tri

什麼時候回觸發

before insert deptid 

on emp

for each row 說明是行級觸發器

begin

觸發器內容

end;

 

 

參考:http://blog.csdn.net/tender001/article/details/8066203

發佈了13 篇原創文章 · 獲贊 19 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章