oracle存储过程中返回一个程序集

1、定义一个程序包

create or replace package pag_q
   is
     type cur_result is ref cursor;
end pag_q;

2、存储过程里面这样写

create or replace procedure prc_q(
 res out pag_q.cur_result   --pag_q.cur_result 是程序包里面定义的
)
 is
  v_sql VARCHAR2(4000) :=‘‘;
 begin
   open res for v_sql;
  v_sql :=  ‘select * from users‘;
  DBMS_OUTPUT.put_line(v_sql);
 end prc_q;

3、这是调用代码

时间: 2024-10-08 07:15:19

oracle存储过程中返回一个程序集的相关文章

Oracle存储过程中异常Exception的捕捉和处理

Oracle存储过程中异常的捕捉和处理 CREATE OR REPLACE Procedure Proc_error_process ( v_IN in Varchar2, v_OUT Out Varchar2) AUTHID CURRENT_USER AS --声明异常 some_kinds_of_err EXCEPTION; -- Exception to indicate an error condition v_ErrorCode NUMBER; -- Variable to hold

Oracle存储过程中跳出循环的写法

Oracle存储过程中跳出循环的写法 博客分类: oracle Oracle 记录exit和return的用法 exit用来跳出循环 loop IF V_KBP IS NULL THEN           EXIT;    END IF; end loop; return跳出存储过程 loop IF V_KBP IS NULL THEN         return;    END IF; end loop; 跳出loop 一次循环 oracle 11g已提供continue; oracle

Oracle 存储过程中的 =>

oracle实参与形参有两种对应方式1.一种是位置方式,和面向对象语言参数传递类似;2.另外一种是=> 作为形参对应,因为位置对应方法有缺限,比如一个函数有3个参数,但第2个是可以不传(有默认值),这里就没办法位置对应方法,oralce内部一般用此种方法作参数传递. CREATE OR REPLACE PROCEDURE HelloWorld( p_user_name VARCHAR2, p_val1 VARCHAR2 DEFAULT ' Good Moning,', p_val2 VARCHA

java 实现往oracle存储过程中传递array数组类型的参数

注:本文来源于 <  java 实现往oracle存储过程中传递array数组类型的参数  > 最近项目中遇到通过往存储过程传递数组参数的问题, 浪费了N多个小时,终于有点头绪. 具体的代码就不写上了,因为项目中存储过程的调用方法全部是封装好的(好像现在都这样,都姓3层,嘿嘿) 原理: 1.一维数组 A.单纯的一维数组的话,直接建立一个table类型就可以 1 TYPE TYPE_VARCHAR AS TABLE OF VARCHAR2(200); 2.多维数组 A.多维数组就要稍加修改了,如

oracle 存储过程中使用date 时、分、秒丢失

今天有一开发兄弟找我,说出现一奇怪现象,在存储过程中赋date类型的值,时.分.秒都丢失了,下面来做个试验: SQL> drop table test purge; SQL> create table test ( fill_date  date ); SQL> insert into test values(sysdate); SQL> commit; SQL> select to_char(fill_date,'yyyy-MM-dd HH24:mi:ss') from t

Oracle 存储过程调用返回游标的另一个存储过程。

一个扩展存储过程调用另一个存储过程,示例: 被调用存储过程:最后会返回一个游标,游标返回一个值.调用这个存储过程的存储过程同样需要获取它. 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

Oracle存储过程实现返回多个结果集 在构造函数方法中使用 dataset

public DataSet Get_TRAFeeQinfenStatus(int type, string BargainOrderCode, string ParkUserId, string BerthCode) { OracleParameter[] parms = { new OracleParameter("VRETURN_LIST1", OracleType.Cursor), new OracleParameter("VRETURN_LIST2", O

C# 获取 oracle 存储过程的 返回值1

/// <summary> /// 返回对应表的模拟自增字段值 /// </summary> /// <param name="tablename">表名</param> /// <returns>表的模拟自增字段值</returns> public decimal GetPKNum(string tablename) { switch (sqlType) { case "MSSQL2008":

在oracle存储过程中创建临时表

在oracle的存储过程中,不能直接使用DDL语句,比如create.alter.drop.truncate等. 那如果我们想在存储过程中建立一张临时表就只能使用动态sql语句了: create or replace procedure pro as str_sql varchar2(100); begin -- 创建临时表 str_sql := 'create global temporary table temp_table ( col1 varchar2(10), col2 number