Oracle基本操作十三:函数和包
2017-05-15 22:54
417 查看
--函数和包:位于文件夹function中
--函数:和存储过程类似,但是函数有返回值,且其参数只能是in,而不能是out或in out
--举例一.1:创建无参的函数
create or replace function firstFun return varchar2
is
begin
return 'HelloWorld';
end firstFun;
--举例一.2:调用
begin
dbms_output.put_line(firstFun());
end;
--举例二.1:创建有参的函数--根据月薪计算年薪
create or replace function yearSal(v_sal number) return number
is
begin
return v_sal*12;
end firstFun;
--举例二.2:调用
declare
v_sal number;
begin
select sal into v_sal from scott.emp wher empno='7369';
dbms_output.put_line(yearSal(v_sal));
end;
--包:包相当于类,变量相当于成员变量,过程、函数相当于方法。位于文件夹package中
--包组成:包头-定义,包体-实现
--举例一.1:创建包头
create or replace fkpackage is
i constant number:=100;--定义常量
v_comm number:=200;--定义变量-每月奖金200
function yearfun(v_sal number) return number;--定义函数,有返回值
procedure mypro;--定义过程,无返回值
end fkpackage;
--举例一.2:创建包体
create or replace package body fkpackage is
--函数
function yearfun(v_sal number) return number is
begin
return (v_sal,v_comm)*12;
end;
--过程
procedure my pro is
begin
--可以向表中插入数据
end;
end fkpackage;
--举例一.3:调用包
declare
v_sal number;
begin
--其它操作
dbms_out.put_line(fkpackage.yearfun(v_sal));
fkpackage.mypro;
end;
--函数:和存储过程类似,但是函数有返回值,且其参数只能是in,而不能是out或in out
--举例一.1:创建无参的函数
create or replace function firstFun return varchar2
is
begin
return 'HelloWorld';
end firstFun;
--举例一.2:调用
begin
dbms_output.put_line(firstFun());
end;
--举例二.1:创建有参的函数--根据月薪计算年薪
create or replace function yearSal(v_sal number) return number
is
begin
return v_sal*12;
end firstFun;
--举例二.2:调用
declare
v_sal number;
begin
select sal into v_sal from scott.emp wher empno='7369';
dbms_output.put_line(yearSal(v_sal));
end;
--包:包相当于类,变量相当于成员变量,过程、函数相当于方法。位于文件夹package中
--包组成:包头-定义,包体-实现
--举例一.1:创建包头
create or replace fkpackage is
i constant number:=100;--定义常量
v_comm number:=200;--定义变量-每月奖金200
function yearfun(v_sal number) return number;--定义函数,有返回值
procedure mypro;--定义过程,无返回值
end fkpackage;
--举例一.2:创建包体
create or replace package body fkpackage is
--函数
function yearfun(v_sal number) return number is
begin
return (v_sal,v_comm)*12;
end;
--过程
procedure my pro is
begin
--可以向表中插入数据
end;
end fkpackage;
--举例一.3:调用包
declare
v_sal number;
begin
--其它操作
dbms_out.put_line(fkpackage.yearfun(v_sal));
fkpackage.mypro;
end;
相关文章推荐
- oracle学习笔记系列------oracle 基本操作之基本函数的用法
- 数据库基础知识点一:Oracle入门,数据库基本操作,函数
- Oracle基本语法&&函数&&子查询&&分页查询&&排序&&集合操作&&高级分组函数
- Oracle数据库对表数据的基本操作和Oracle字符串、数值、日期、空值操作及它们相对应的函数操作
- oracle的基本操作函数
- MYSQL入门学习之十三:自定义函数的基本操作
- Oracle RAW类型基本操作函数及使用示例
- 【初识Oracle】③数据库对基本数据类型进行操作的函数
- Oracle基本操作五:简单查询与简单函数,组函数,分组
- 【转】MYSQL入门学习之十三:自定义函数的基本操作
- Oracle基本语法&&函数&&子查询&&分页查询&&排序&&集合操作&&高级分组函数
- Oracle基本操作
- oracle基础知识-基本管理操作(登录、归档)
- Oracle基本操作语句(二)
- linux下oracle 基本操作
- ORACLE SQL*PLUS 基本操作(一)
- oracle基本操作语句
- Oracle字符窜操作函数
- Oracle SQL Plus 的基本操作 - Oracle 学习笔记 1
- oracle基本操作