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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章