ORACLE存储过程,函数,包,游标】的更多相关文章

一.存储过程 不可以在insert,update,delete中直接使用,可以有return但代表的是退出过程 过程有三种类型:不返回值,可以返回多个值,参数有三种类型,分别如下: in:只输入,不返回结果,默认为in out:只返回结果,不输入,要想取出输出变量的值必须通过pl/sql块的变量取出 in out:可输入,又可返回结果,要想取出输出变量的值必须通过pl/sql块的变量取出 --语法 create or replace procedure 名称(a1 in varchar2,a2…
1.函数 create or replace function get_Destroy_no return varchar2 is Result varchar2(50);begin SELECT max(destroy_no) INTO RESULT FROM t_oms_device_destroy WHERE substr(destroy_no,0,8)= to_char( SYSDATE ,'yyyymmdd'); IF (RESULT =''OR RESULT IS NULL) THE…
一个扩展存储过程调用另一个存储过程,示例: 被调用存储过程:最后会返回一个游标,游标返回一个值.调用这个存储过程的存储过程同样需要获取它. procedure SearchBill --根据到货单号查询所有行号 ( P_code VARCHAR, P_UserCode varchar , P_org varchar, P_warehouse varchar, p_movetype varchar, p_billtype varchar, p_note varchar, p_isred varch…
CREATE OR REPLACE PACKAGE PACK_KPI_KERNEL IS --定义多级数组 字符串 TYPE TSTRARRY ) INDEX BY BINARY_INTEGER; TYPE TSTRARRYARRY IS TABLE OF TSTRARRY INDEX BY BINARY_INTEGER; TYPE TSTRARRYARRYARRY IS TABLE OF TSTRARRYARRY INDEX BY BINARY_INTEGER; -- Author : D -…
转自:http://www.iteye.com/topic/1111793 一.包的概念   类似于一个容器,能打包相应的Pl/SQL变量.常量.函数.过程.复合数据类型等元素到这个容器内.用来限制   对这些内容的访问权限.二.包的构成.   包通常由两部分组成,分别为包头和包体 .   包头:里面通常写上述元素的声明,相当于应用程序的接口.   包体:里面通常写上述元素的实现,相当于应用程序的具体实现.    包头和包体分别作为数据库对象被保存在数据库内.三.包的特性  1.包本身不能被调用…
/** *@author:zhengwei *@date:2017-04-28 *@desc:存储过程用法总结 */ CREATE OR REPLACE PROCEDURE MYPROCEDURE(P_ID IN VARCHAR, P_STATUS OUT VARCHAR) --P_ID为输入参数 ,P_STATUS为输出参数 AS ---变量声明 T_STATUS ); T_ID NUMBER; V_POSTYPE ); V_DESCRIPTION ); ---对象变量定义和声明 TYPE X…
--in 代表输入参数,out 代表输出参数create or replace procedure myproc(id in int, v_message out varchar2) is--定义临时变量number a; begin delete from emp where empno=id; commit; EXCEPTION WHEN OTHERS THEN ROLLBACK; v_message := '错误行号:' || DBMS_UTILITY.format_error_backt…
目录 存储过程与函数 存储过程的优势 存储过程 打印语句 选择语句 函数 计算使用资源 存储过程与函数 存储过程的优势 存储过程 /* 多行注释 */ -- 单行注释 //展示错误信息 show errors //创建用户test 密码abc 默认用户表空间 表空间缓存 100m大小 create user test identified by abc default tablespace users temporary tablespace temp quota 100m on users /…
pakeage dao.Impl; //调用函数FUN_GET(); public String get(String Id,String Name){ return getSession().createSQLQuery("select FUN_GET(?,?) from dual") .setParameter(0, Id).setParameter(1, Name).uniqueResult() .toString(); } //uniqueResult()  返回唯一值 //调…
2017-07-24 14:12:42 SQL内容: 1.一次性检索 100000 条数据. 2. 1000 条提交一次. 3.超过 100000 万条,重新打开游标,重新检索. pl/sql内容如下: CREATE OR REPLACE PROCEDURE P_MDF_TEST ( branchno1 in varchar ) AS cursor cur_inst is select plcno from t1test where branch in ( select branchcode f…