`
tsface
  • 浏览: 8960 次
  • 性别: Icon_minigender_1
  • 来自: 西安
最近访客 更多访客>>
社区版块
存档分类
最新评论

Oracle 过程(procedure)和函数(function)

阅读更多

过程(procedure)

过程是执行一系列PL/SQL操作的子程序,从根本上讲,过程就是命名的PL/SQL程序库,他可以拥有参数,过程编译后参数在数据库中,然后由应用程序或者其他的PL/SQL块调用。

 

创建过程的语法:

CREATE [OR REPLACE] PROCEDURE 过程名[(过程参数列表)]

{IS|AS}

--声明部分

BEGIN

--可执行部分

[EXCEPTION]

--异常处理部分

END[过程名];

 

注意:1,过程有两种,分别为含参数和不含参数的过程;

           2,sqlplus提示符下调用为

            --set serverout on  --execute 过程名

           3,默认情况下,过程中的参数在过程中只能使用,不能对参数重新赋值

           4,过程参数传递有三种模式:IN OUT 和 IN OUT

           5,在参数定义同时用default直接对参数进行初始化,即参数的默认值,当调用者没有对参数传值时,过程就是用默认参数。一个过程中可以有若干个默认参数值,但是默认参数只能放在参数列表的最后。

 

 

函数(function)

函数的主要特征是它必须返回一个值。创建函数时通过return子句指定函数返回值数据类型。在函数的任何地方都可以通过return表达式语句从函数返回,这里的表达式的值与函数定义中指定的返回数据类型一致

 

创建函数的语法:

CREATE [OR REPLACE] FUNCTION 函数名[(函数参数列表)] RETURN 数据类型

{IS|AS}

   ---声明部分

BEGIN

   --可执行部分

[EXCEPTION]

   --异常处理部分

END[函数名];

 

注意:Oracle函数的参数也有IN 、OUT 和IN OUT之分,用法和过程一致。函数的内容中如果包含对表进行DML操作,则调用的时候有以下限制:

1,不能在select语句中调用包含DML操作的函数。

2,不能在INSERT语句的values调用包含DML操作的函数

3,不能在UPDATE语句的SET值中调用包含DML操作的函数

分享到:
评论

相关推荐

    Oracle基础学习三过程PROCEDURE 和函数FUNCTION 的创建及用

    Oracle基础学习三:过程PROCEDURE 和函数FUNCTION 的创建及调用

    Oracle培訓Procedure﹑Function等简介

    Oracle培訓Oracle Procedure﹑Function、Trigger等

    oracle中 procedure(存储过程)和function(函数)本质区别

    主要介绍了 oracle中 procedure(存储过程)和function(函数)本质区别,非常不错,具有参考借鉴价值,需要的朋友可以参考下

    Oracle数据库存储过程技术文档.doc

    1.1 存储过程基本结构(PROCEDURE) 3 1.1.1创建存储过程 3 1.1.2 存储过程删除 5 1.1.3 调用存储过程 5 1.2存储函数(FUNCTIONE) 6 1.2.1 创建存储函数 6 1.2.2 删除存储函数 7 1.3 包(package) 7 1.3.1 包的基本结构 ...

    Oracle_function_package_procedure.rar_oracle_pl sql function_pl/

    pl/sql中oracle的函数,过程,包,事务等介绍

    oracle 视图,函数,过程,触发器自动编译脚本

    日常管理维护一个oracle数据库服务器的时,经常会碰到修改view,table结构的情况,而且由于oracle view,函数,存储过程等对象的相互关联的关系,经常会由于一个view,table,fun,proc的修改而导致相关的对象失效。...

    MyBatis调用Procedure+Function.pptx

    使用MyBatis框架配置Oracle和MySql中存储过程与函数的调用。 分别描述了两种方式的实现:基于XML方式和注解方式。 其中Oracle所使用版本为Oracle11g_XE版,MySQL为5.7版本

    Oracle P/L SQL实现文件压缩、解压功能

    Oracle P/L SQL实现文件压缩、解压功能,以下是此过程包的头部,包体经常打包处理plb,感兴趣用户可以下载下来。 Create or Replace Package UTL_ZIP AUTHID CURRENT_USER as Type File_List is Table of Clob; -...

    Oracle 常用函数

    本人总结的Oracle 常用的一些 集合函数,全是基础,大侠飘过,开始使用Oracle开发的同志参考

    Oracle_plsql基本语法笔记.txt

    procedure 的建立和调用 function的建立和调用 标题 参数的调用(in 模式为按址调用,out / in out模式为按值调用。NOCOPY 强行转换成按址调用)。 标题 软件包及封装 软件包(PACKAGE)的建立和调用 ...

    oracle 培训文档1

    oracle 1 基本对象 表(Table)和 视图(View) 索引(Index)和 约束(Constraint) 函数(Function) 过程(Procedure) 其他(同义词,序列,簇,job,等)

    oracle PL_SQL 教程

    oracle 教程 是我的学习笔记。 关于 存储过程(procedure) , 函数(function) 游标(curser) , 任务(job) 等都有详细的说明了实例演示, 每个实例都是经过测试的。

    一个oracle客户端(oracle sql handler)

    支持 PL/SQL 语句(包括 Procedure、 Function、Trigger、 Package),能够显示 DBMS_OUPTPUT.PUT_LINE 的输出;能够给出错误信息,甚至光标能够精确定位错误所在的行列位置,方便于调试 o 多线程、多连接:可以...

    Oracle 10g 学习笔记

    │ ORACLE的索引和约束详解 - Oracle10g - 沪城篱笆.mht │ oracle里常用命令 - Oracle - 51CTO技术论坛_中国领先的IT技术社区.mht │ Sequence相关操作命令 - lvhuiqing的专栏 - CSDN博客.mht │ Sequence相关操作...

    oracle 10g问题总结

     查看函数和过程的源代码  select text from all_source where owner=user and name='SF_SPLIT_STRING'  查看表字段  select cname from col where tname='ZW_YINGYEZ'  select column_name from user_tab_...

    Oracle_Data_Integrator应用指南

    5.5. Procedure过程 54 5.6. Procedure最简单的例子 55 5.7. 在Procedure中用序列、函数 56 6. Knowledge Module 58 6.1. 客户化KM最佳简单例子 58 7. Package及ODI工具箱 59 7.1. 概述 59 8. Web Service 61 8.1. ...

    最全的oracle常用命令大全.txt

    查看函数和过程的源代码 SQL>select text from all_source where owner=user and name=upper('&plsql_name'); 三、查看数据库的SQL 1、查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/...

    震撼推出超方便实用的Oracle开发工具 - Oracle SQL Handler,双语界面,智能SQL编辑器,免装Oracle客户端,能运行于Windows, 双语界面

    支持 PL/SQL 语句(包括 Procedure、 Function、Trigger、 Package),能够显示 DBMS_OUPTPUT.PUT_LINE 的输出;能够给出错误信息,甚至光标能够精确定位错误所在的行列位置,方便于调试 多线程、多连接:可以创建...

    Oracle8i_9i数据库基础

    §16.4 过程和函数中的例外处理 282 §16.4.1 使用系统定义的例外处理 282 §16.4.1.1 没有例外处理的缺点 283 §16.4.1.2 使用预定义的例外处理 283 §16.4.2 使用用户定义的例外处理+ 286 §16.4.2.1 定义的用户...

    Oracle开发工具 - Oracle SQL Handler(功能强大,超方便好用, 免装客户端, Windows / Linux)

    支持 PL/SQL 语句(包括 Procedure、 Function、Trigger、 Package),能够显示 DBMS_OUPTPUT.PUT_LINE 的输出;能够给出错误信息,甚至光标能够精确定位错误所在的行 列位置,方便于调试 多线程、多连接:可以创建...

Global site tag (gtag.js) - Google Analytics