`

Oracle数组、Record、Cursor

 
阅读更多
create or replace procedure pro_completedata
is
  --需要补全数据的表
  type tablename_array is varray(16) of varchar2(32);
  tableNames tablename_array := tablename_array('T_HTLQUR_HAOGANG', 'T_HTLQUR_HBQ', 'T_HTLQUR_HDQ', 'T_HTLQUR_HGH',
            'T_HTLQUR_HKM', 'T_HTLQUR_LEIMAN', 'T_HTLQUR_LIEYANG', 'T_HTLQUR_NKG', 'T_HTLQUR_OTHER', 'T_HTLQUR_PEK', 'T_HTLQUR_SHA'
           , 'T_HTLQUR_SZX', 'T_HTLQUR_YUEXIANG', 'T_HTLQUR_AIYOU', 'T_HTLQUR_CAN', 'T_HTLQUR_CTU');
  --tableNames tablename_array := tablename_array('T_HTLQUR_HKM');
  
  tableName varchar2(32);

  cursorSQL varchar2(2000);

  type PPIDCURSOR IS REF CURSOR;
  ppid_cursor PPIDCURSOR;

  type PPIDRECORD IS RECORD(
       ppid number
  );
  ppid_record PPIDRECORD;

begin

     FOR i in 1 .. tableNames.count loop
         tableName := tableNames(i);
         cursorSQL := 'select DISTINCT t.priceplanid from '||tableName||'  t';

         open ppid_cursor for  cursorSQL;
         loop
              fetch ppid_cursor into ppid_record;
              exit when ppid_cursor%notfound;

              --需要补全的PPID记录到数据库表中
              pro_recorddatawithoutprice(ppid_record.ppid,tableName);
         end loop;
     end loop;

end pro_completedata;
0
0
分享到:
评论

相关推荐

    java调用oracle存储过程返回结果集,Record,cursor参照.pdf

    Java调用Oracle存储过程返回结果集Record、Cursor参照 Java调用Oracle存储过程返回结果集(Record)是指在Java程序中通过调用Oracle存储过程来获取记录集的结果。下面将详细介绍相关知识点。 创建Type 在Oracle中...

    Oracle存储过程详细使用手册

    可以使用 Oracle 自带的数组类型,也可以自定义数组类型。 (1) 使用 Oracle 自带的数组类型 例如,以下是一个使用 Oracle 自带的数组类型的示例: ```sql CREATE OR REPLACE PROCEDURE test(y OUT array) IS x ...

    oracle存储过程超详细使用手册

    在Oracle中,没有原生数组概念,但可以通过定义记录类型和表类型来模拟数组行为。Oracle提供了两种方式来模拟数组: - 使用Oracle自带数组类型 ```sql CREATE OR REPLACE PROCEDURE test(y OUT NUMBER) AS x ...

    oracle存储过程及触发器总结

    在使用数组时,可以利用Oracle提供的数组类型或者自定义数组类型。 ##### 1. **使用Oracle自带的数组类型** 可以直接使用Oracle提供的数组类型,例如: ```sql CREATE OR REPLACE PROCEDURE test(y OUT ARRAY_...

    oracle存储过程超详细使用手册.docx

    在本文中,我们将深入探讨Oracle存储过程的创建、变量赋值、判断语句、循环结构以及数组的使用。 1. 创建存储过程: 创建存储过程的基本语法如下所示: ```sql CREATE OR REPLACE PROCEDURE procedure_name (param1...

    oracle存储过程总结.doc

    本篇文章将对 Oracle 存储过程进行总结,包括创建存储过程、变量、游标、数组等基础知识,以及一些常用的字符串函数的应用。 一、创建存储过程 创建存储过程是 Oracle 存储过程的基础,使用 create or replace ...

    Oracle plsql 参考文档

    Oracle PL/SQL是一种强大的编程语言,它将SQL与过程式编程语言的功能相结合,为数据库管理员和开发者提供了在Oracle数据库环境中创建复杂应用的能力。这个参考文档是Oracle PL/SQL的全面指南,涵盖了从基础到高级的...

    oracle存储过程_函数_语法_大全_详解

    数组可以使用Oracle自带的数组类型或者自定义数组类型。 ##### 1. 使用Oracle自带的数组类型 Oracle提供了几种内置的数组类型,可以直接使用。 **示例:** ```sql CREATE OR REPLACE PROCEDURE test (y OUT ...

    oracle存储使用手册

    (1) 使用Oracle自带的数组类型,例如`PLS_INTEGER`类型的数组`array`,需要初始化后使用。 (2) 定义自定义数组类型,通常推荐通过创建包(Package)来实现,便于管理。例如: ```sql CREATE OR REPLACE PACKAGE ...

    ORACLE编程

    Oracle中的数组实际上是基于表的结构,可以使用预定义的数组类型或自定义数组类型。 ##### 6.1 使用Oracle自带的数组类型 ```sql x ARRAY_TYPE; -- 需要初始化 ``` 示例: ```sql CREATE OR REPLACE PROCEDURE ...

    oracle存储过程实例

    可以使用 Oracle 自带的数组类型,也可以自定义数组类型。 使用 Oracle 自带的数组类型: ```sql CREATE OR REPLACE PROCEDURE test(y OUT array) IS x array; BEGIN x := NEW array(); y := x; END test; ``` ...

    oracle存储过程总结-函数-语法-大全-详解.docx

    Oracle 中没有真正的数组类型,但可以使用表来模拟数组。数组可以是 Oracle 已经定义好的类型,也可以是用户自定义的类型。 使用 Oracle 自带的数组类型: ```sql DECLARE x ARRAY; BEGIN x := NEW ARRAY(); -- ...

    oracle存储过程超详细使用手册(共46页).docx

    Oracle中没有内置的数组概念,但可以通过定义表类型模拟数组。数组分为两种: a. 使用Oracle预定义的数组类型,如`PLS_INTEGER`数组: ```sql DECLARE x PLS_INTEGER[]; BEGIN x := new PLS_INTEGER(); END; ...

    oracle存储过程超详细使用手册.

    本文档详细介绍了Oracle存储过程的基本语法、使用示例、变量赋值、判断语句、循环结构、数组的使用以及游标的操作。 一、创建存储过程 在Oracle中,创建存储过程的语法一般使用`CREATE OR REPLACE PROCEDURE`语句,...

    Oracle存储过程详细的使用手册.doc

    本文将详细介绍 Oracle 存储过程的使用手册,包括创建存储过程、变量赋值、判断语句、For 循环、While 循环和数组的使用。 1. 创建存储过程 创建存储过程的基本语法为:`CREATE OR REPLACE PROCEDURE 过程名(参数...

    Oracle存储过程超详细使用手册

    在 Oracle 中,数组实际上是一种表类型,每个数组元素就是表中的一个记录。 (1)使用 Oracle 自带的数组类型 例如,创建一个名为 test 的存储过程,输出数组元素: ```sql CREATE OR REPLACE PROCEDURE test(y ...

Global site tag (gtag.js) - Google Analytics