Oracle中函数、存储过程、触发器
2015-10-18 16:52
417 查看
函数:要有返回类型,返回值。在执行的时候,需要用一个变量来接收执行的结果
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
//创建过程
create or replace procedure add_emailinfo(namee email_info.fullname%type ,address email_info.email_address%type )
is
begin
insert into email_info(fullname,email_address) values (namee,address);
end;
//调用过程
call add_emailinfo('cherry','asdfsdf');
/////////////////////////////////////////////////////////////////////////////////////
//创建函数
create or replace function sel_emailinfo(namee email_info.fullname%type )
return varchar2 is
address varchar2(30);
begin
select email_address into address from email_info
where trim(fullname)=trim(namee);
return address;
end ;
//调用函数
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
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
//创建过程
create or replace procedure add_emailinfo(namee email_info.fullname%type ,address email_info.email_address%type )
is
begin
insert into email_info(fullname,email_address) values (namee,address);
end;
//调用过程
call add_emailinfo('cherry','asdfsdf');
/////////////////////////////////////////////////////////////////////////////////////
//创建函数
create or replace function sel_emailinfo(namee email_info.fullname%type )
return varchar2 is
address varchar2(30);
begin
select email_address into address from email_info
where trim(fullname)=trim(namee);
return address;
end ;
//调用函数
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
相关文章推荐
- Oracle中的length()与lengthb()的区别 ?
- Oracle截取字符串和查找字符串
- oracle的单行函数以及多行函数(聚合函数、分组函数)的使用
- Oracle 去重复的数据
- oracle事务和锁
- 在Oracle VM VirtualBox下创建的centos虚拟机联网问题
- oracle数据库优化辅助SQL语句
- 一些培训课程mysql R sas java python oracle
- Java连接Oracle数据库存储过程(用户财产变更举例)
- Configuring Oracle E-Business Suite Integrated SOA Gateway Release 12.1.2 and Release 12.1.3 in a Multinode Environment (Doc ID 1081100.1)
- Oracle锁表解决
- 解决此问题:Oracle 删除用户时报 “必须指定 CASCADE 以删除 'SE'”,
- 完全卸载Oracle11g数据库
- Oracle数据泵的使用
- ORACLE功能GREATEST功能说明具体实例
- oracle表空间创建
- Oracle 多表关联更新update
- 连接oracle数据库报ora-01019
- oracle数据库优化辅助SQL语句
- Java连接Oracle数据库简单实例