`
jinliyixi
  • 浏览: 17562 次
  • 性别: Icon_minigender_2
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

oracle笔记八(函数+存储过程+包)

阅读更多
函数:(过程和函数的唯一区别是函数总向调用者返回数据,而过程则不返回数据)
1. 创建函数
Create or replace function get_salary(
V_deptno number,emp_count out number)return number
------这里的type只能是类型,不能有长度或大小的定义
Is
V_sum number;
Begin
Select sum(sal),count(*) into v_sum,emp_count from emp
Where deptno=v_deptno;
Return v_sum;
Exception
When no_data_found then
dbms_output.put_line('no data');
when others then
dbms_output.put_line(sqlcode||sqlerrm);
End;
2. 查询函数信息
a). select object_name from user_objects
where object_type=’FUNCTION’;
b). select object_name from user_procedures;
c). select line,text from user_source
where name=’GET_SALARY’;
3. 调用函数方法
declare
   v_sum number;
   v_num number;
begin
-----位置表示法
v_sum:=get_salary(30,v_num);
dbms_output.put_line(v_sum ||','||v_num);

-----名称表示法
v_sum:=get_salary(emp_count=>v_num,v_deptno=>20);
dbms_output.put_line(v_sum ||','||v_num);
-----混合表示法(使用位置表示法所传递的参数必须放在名称表示法所传递的参数前面 )
v_sum:=get_salary(10,emp_count=>v_num);
dbms_output.put_line(v_sum ||','||v_num);
end;
4. 结合select语句调用
select ename,sal ,tax(sal),tax(sal)*sal from emp;

存储过程:
1. 创建过程
create or replace procedure delEmp(
   v_empno emp.empno%type)
is
  no_result exception;
begin
delete from emp where empno=v_empno;
if sql%notfound then
raise no_result;
else dbms_output.put_line(v_empno||'has been deleted');
end if;
exception
when no_result then
dbms_output.put_line('no data');
when others then
dbms_output.put_line(sqlcode||','||sqlerrm); 
end;
2. 调用过程
a). begin
delemp(1234);
end;
b). exec delemp(1234);
c).在sql/plus中调用
set serveroutput on
exec delemp(1234);

包Package:
1. 创建包定义
Create or replace package mypack
Is
C_pi constant number:=3.14;
Function getArea(r number)return number;
End;
2. 创建包体
Create or replace package body mypack
Is
Function getArea(r number)return number
Is
Begin
Return c_pi*r*r;
End;
End;
3. 调用包
a). begin
dbms_output.put_line(mypack.getArea(5));
end;
b).exec mypack.getArea(5);

查看过程的名字及其参数表
Desc mypack.getArea;
分享到:
评论

相关推荐

    oracle笔记存储函数和存储过程

    oracle笔记存储函数和存储过程,有具体的代码案例!存储函数和存储过程的知识笔记!

    oracle笔记(存储过程函数触发器游标流程控制等)

    oracle知识点笔记,语法,触发器,存储过程,存储函数,流程控制,游标,异常处理,记录类型,视图,控制用户权限,高级子查询,set运算符,基本的sql_Select语句等等

    oracle学习笔记2013(+安装、卸载)

    oracle学习过程中的详细笔记,包含存储过程、存储函数、用户授权以及最基本的oracle的安装和卸载

    oracle函数大全及存储过程语法

    oracle函数大全及存储过程语法,很好的存储过程学习笔记。

    Oracle学习笔记.pdf

    oracle学习笔记,包含所有oracle概念,包,函数,oracle的组成,oracle的plsq,oracle的存储过程,oracle的事务等

    Oracle 入门文档2

    Oracle笔记 十、PL/SQL存储过程 Oracle笔记 十一、PL/SQL函数和触发器 Oracle笔记 十二、PL/SQL 面向对象oop编程 Oracle笔记 十三、PL/SQL面向对象之package Oracle笔记 十四、查询XML操作、操作系统文件

    Oracle 入门文档

    Oracle笔记 十、PL/SQL存储过程 Oracle笔记 十一、PL/SQL函数和触发器 Oracle笔记 十二、PL/SQL 面向对象oop编程 Oracle笔记 十三、PL/SQL面向对象之package Oracle笔记 十四、查询XML操作、操作系统文件

    成功之路:Oracle11g学习笔记.pdf

    在介绍Oracle系统管理的知识以后,将介绍与开发相关的内容(如PL/SQL基础知识、存储过程、函数、包等),并介绍数据库性能调整,《成功之路:Oracle 11g学习笔记》重点介绍SQL语句调优。SQL语句调优是《成功之路:Oracle...

    oracle学习笔记(从入门到精通)

    压缩包主要包括15个文档,主要是本人学习oracle过程中的笔记,希望对你有帮助:主要文档如下: 01-常用命令.txt 02-表空间建表.txt 03-基本查询语句学习笔记.txt 04-高级查询语句学习笔记.txt 05-锁和表分区学习...

    oracle数据库学习笔记

    oracle学习笔记;oracle DML数据库操作语言;oracle常用函数使用方法及使用例子,存储过程等的创建

    成功之路 Oracle 11g 中文学习笔记

    成功之路 Oracle 11g ...在介绍Oracle系统管理的知识以后,讲介绍与开发相关的内容(如PL/SQL基础知识、存储过程、函数、包等),并介绍数据库性能调整,本书重点介绍了SQL语言调优。SQL语句调优是本书的另一个大特色!

    Oracle 10g 学习笔记

    这个笔记是学习oracle数据库过程中整理出来的,比较详细,适合于初学者。 │ oracle与tomcat端口冲突.txt │ Oracle学习笔记.pdf │ Oracle学习笔记.wps │ 安装Oracle后myEclipse不能正常使用.txt │ 手工配置...

    炼数成金 课程+教材 Oracle数据库职业直通车-Oracle入门学习教学视频 谭怀远老师.txt

    第1课 轻松带你走进Oracle数据库的世界 第2课 从最简单的SQL语句开始 ...第9课 学写存储过程和函数 第10课 数据字典 第11课 数据库的备份和恢复 第12课 DBA日常工作内容和职责 第13课 Oracle的内存结构与后台进程

    达内oracle笔记

    达内的oracle笔记,包括基本的SQL语句和PL/SQL,有存储过程和函数的实例以及语法讲解

    oracle所有知识点笔记(全)

    基本的sql语法,触发器,存储过程,存储函数, 流程控制,游标,异常处理,记录类型,视图, 控制用户权限,高级子查询,set运算符, 基本的sql_Select语句 运算符,多表联查,排序,组函数,序列,索引,同义词, ...

    oracle基础笔记整理

    Oracle基础学习笔记,开窗排序函数,权限管理,递归查询,存储函数触发器游标等等

    Oracle笔记

    此笔记为个人通过自学所整理的oracle笔记,希望看到的人有什么建议告诉我,或者共同...里面内容主要包括:oracle增删改查、用户管理、索引、视图、PLSQL、存储过程、函数、游标、触发器等等!每个知识点都有案例讲解!

    ORACLE_PlSql-甲骨文学习笔记

    7 存储过程 11 №1创建过程 11 №2调用过程 12 №3获取过程信息 12 №4删除过程 12 №5查看过程中的错误 13 №6实际应用示例(积分清零) 13 8 函数 14 №1创建函数 14 №2调用函数 15 №3获取函数信息 15 №4删除...

    关于ORACLE PL笔记

    ORACLE PL入门笔记整理 主要内容以下四个部分: 1、存储过程 2、函数 3、触发器 4、包 讲述其命令格式、调用、释放、实例

    oracle使用管理笔记(一些经验的总结)

    13.oracle函数 26 (1)字符函数 26 (2)数学函数 26 (3)日期函数 27 (4)给表取别名的时候,不能加as;但是给列取别名,是可以加as 27 (5)转换函数 27 (6) to_char(date,'format') 27 (7) to_date(string,'format') 28 ...

Global site tag (gtag.js) - Google Analytics