oracle中的function 、procedure、packages、package bodies比较
1 function和procedure的区别
1).可以理解函数是存储过程的一种 2).函数可以没有参数,但是一定需要一个返回值,存储过程可以没有参数,不需要返回值 3).函数return返回值没有返回参数模式,存储过程通过out参数返回值, 如果需要返回多个参数则建议使用存储过程 4).在sql数据操纵语句中只能调用函数而不能调用存储过程, 5).function必须有返回值,并且只能有一个返回值; 6).procedur不叫返回值,叫带出,可以带出多个值; 7).packages、package、bodies是同时存在的,packages可包括function,procedure 8).procedure和function可以单独存在,也可以放到bodies中.
2 packages、与packagebodies比较
定义:packae是一种将过程、函数和数据结构捆绑在一起的容器; 由两个部分组成:外部可视包规范,包括函数头,过程头,和外部可视数据结构; 另一部分是包主体(package body),包主体包含了所有被捆绑的过程和函数的声明、执行、异常处理部分。 简单说就是packages中只有各个方法的定义,bodies中涉及具体的实现. 所以 packages和packagebodies是一体的,必须同时存在.如果要外部调用的,就在package里声明一下,包内调用的,只要在body里写就行了。 package可包括function,procedure. 需要先创建package(也就是包的定义),再创建body。 增加包中的过程或者修改包中过程的输入参数个数等也是要先改package再改body
3 package的作用
可以简化应用设计、提高应用性能、实现信息隐藏、子程序重载
oracle中的function 、procedure、packages、package bodies比较的更多相关文章
- oracle的 表、 procedure、package等对象被锁,处理方法
1.0 oracle中表被锁,处理方法 select t4.object_name, t3.spid, t1.oracle_username, t1.os_user_name from v$pro ...
- Oracle 中 编写 function 和 procedure 的注意事项
create or replace function sum_pro( v_a number, v_b number ) return number is -- v_result number(10) ...
- oracle中的function的简单语法定义
1. create or replace 函数名 (参数名 in 类型) return 返回值类型 as 定义变量 begin 函数体 end;
- Oracle中 Package与Package body的介绍
1.Oracle Package的作用: 可以简化应用设计.提高应用性能.实现信息隐藏.子程序重载 2.ORACLE中的function .package.package bodies.pro ...
- oracle中的存储过程例子
用了两年Oracle还没写过存储过程,真是十分惭愧,从今天开始学习Oracle存储过程,完全零起点,争取每日一篇学习笔记,可能开始认识的不全面甚至有错误,但坚持下来一定会有收获. . 建立一个存储过程 ...
- Oracle数据库中的Function调用参数问题
在工作中用到了Oracle数据库,需要调用Oracle的Function,Function返回的游标和结果都是通过参数来获取的 比如Function定义如下: , intype, ininttype) ...
- 【数据库】Function&Procedure&Package
Function/Procedure都是可独立编译并存储在数据库中的,区别是Function有返回值. Package则是数据和过程.函数的集合体. CREATE PROCEDURE dorepeat ...
- 在Oracle/SQL Service中通过Function返回Table
本函数用途:返回一个Table 在Oracle中实现,范例: --在Types中: create or replace type objTable as object ( s_usercode var ...
- Oracle中的AS和IS
Oracle中的AS和IS是ORACLE为了方便而设置的同义词基本上没有不同 . 使用规则: 1.在创建存储过程(PROCEDURE)/函数(FUNCTION),以及自定义类型(TPYE)和包(PAC ...
随机推荐
- sys.argv[]用法
#-*- coding: utf-8 -*- """ sys.argv 用来获取命令行参数 sys.argv[0] 表示当前执行文件 "-k".sta ...
- 得到指定进程PID
//#include "targetver.h" #include "stdio.h" #include <windows.h> #include ...
- 从NIB中加载VIEW
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ChatMoreView" owner:nil options:nil]; ...
- Expression Trees
Expression Trees 只是想简单说下表达式树 - Expression Trees 目录 简介 Lambda 表达式创建表达式树 API 创建表达式树 解析表达式树 表达式树的永久性 编译 ...
- .NET 元数据
1. 安装 ILDASM 工具 VS -- 外部工具 -- 添加 -- 命令行为:C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NET ...
- [BZOJ 3747] [POI 2015] Kinoman【线段树】
Problem Link : BZOJ 3747 题解:ZYF-ZYF 神犇的题解 解题的大致思路是,当区间的右端点向右移动一格时,只有两个区间的左端点对应的答案发生了变化. 从 f[i] + 1 到 ...
- 缩小jquery体积
jQuery 分析 据统计,目前全世界57.3%的网站使用它.也就是说,10个网站里面,有6个使用jQuery.如果只考察使用工具库的网站,这个比例就会上升到惊人的91.7%. 虽然jQuery如此受 ...
- how to optimize javascript performance
https://developers.google.com/speed/articles/optimizing-javascript http://developer.yahoo.com/perfor ...
- ios入门之c语言篇——基本函数——1——随机数生成
1.随机数函数 参数返回值解析: 参数: a:int,数字范围最小值: b:int,数字范围最大值: 返回值: 1:闰年: 0:非闰年: 备注: a-b的绝对值不能超过int的最大值(65535); ...
- java 和javaw 的区别——<转>
java 和javaw 的区别 javaw.exe用法和java.exe 相同 javaw的程序不在java console 上面显示任何东西,如果在开发程序,就用java,这样可以看到错误提示, 如 ...