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;
分享到:
相关推荐
Java调用Oracle存储过程返回结果集Record、Cursor参照 Java调用Oracle存储过程返回结果集(Record)是指在Java程序中通过调用Oracle存储过程来获取记录集的结果。下面将详细介绍相关知识点。 创建Type 在Oracle中...
可以使用 Oracle 自带的数组类型,也可以自定义数组类型。 (1) 使用 Oracle 自带的数组类型 例如,以下是一个使用 Oracle 自带的数组类型的示例: ```sql CREATE OR REPLACE PROCEDURE test(y OUT array) IS x ...
在Oracle中,没有原生数组概念,但可以通过定义记录类型和表类型来模拟数组行为。Oracle提供了两种方式来模拟数组: - 使用Oracle自带数组类型 ```sql CREATE OR REPLACE PROCEDURE test(y OUT NUMBER) AS x ...
在使用数组时,可以利用Oracle提供的数组类型或者自定义数组类型。 ##### 1. **使用Oracle自带的数组类型** 可以直接使用Oracle提供的数组类型,例如: ```sql CREATE OR REPLACE PROCEDURE test(y OUT ARRAY_...
在本文中,我们将深入探讨Oracle存储过程的创建、变量赋值、判断语句、循环结构以及数组的使用。 1. 创建存储过程: 创建存储过程的基本语法如下所示: ```sql CREATE OR REPLACE PROCEDURE procedure_name (param1...
本篇文章将对 Oracle 存储过程进行总结,包括创建存储过程、变量、游标、数组等基础知识,以及一些常用的字符串函数的应用。 一、创建存储过程 创建存储过程是 Oracle 存储过程的基础,使用 create or replace ...
Oracle PL/SQL是一种强大的编程语言,它将SQL与过程式编程语言的功能相结合,为数据库管理员和开发者提供了在Oracle数据库环境中创建复杂应用的能力。这个参考文档是Oracle PL/SQL的全面指南,涵盖了从基础到高级的...
数组可以使用Oracle自带的数组类型或者自定义数组类型。 ##### 1. 使用Oracle自带的数组类型 Oracle提供了几种内置的数组类型,可以直接使用。 **示例:** ```sql CREATE OR REPLACE PROCEDURE test (y OUT ...
(1) 使用Oracle自带的数组类型,例如`PLS_INTEGER`类型的数组`array`,需要初始化后使用。 (2) 定义自定义数组类型,通常推荐通过创建包(Package)来实现,便于管理。例如: ```sql CREATE OR REPLACE PACKAGE ...
Oracle中的数组实际上是基于表的结构,可以使用预定义的数组类型或自定义数组类型。 ##### 6.1 使用Oracle自带的数组类型 ```sql x ARRAY_TYPE; -- 需要初始化 ``` 示例: ```sql CREATE OR REPLACE PROCEDURE ...
可以使用 Oracle 自带的数组类型,也可以自定义数组类型。 使用 Oracle 自带的数组类型: ```sql CREATE OR REPLACE PROCEDURE test(y OUT array) IS x array; BEGIN x := NEW array(); y := x; END test; ``` ...
Oracle 中没有真正的数组类型,但可以使用表来模拟数组。数组可以是 Oracle 已经定义好的类型,也可以是用户自定义的类型。 使用 Oracle 自带的数组类型: ```sql DECLARE x ARRAY; BEGIN x := NEW ARRAY(); -- ...
Oracle中没有内置的数组概念,但可以通过定义表类型模拟数组。数组分为两种: a. 使用Oracle预定义的数组类型,如`PLS_INTEGER`数组: ```sql DECLARE x PLS_INTEGER[]; BEGIN x := new PLS_INTEGER(); END; ...
本文档详细介绍了Oracle存储过程的基本语法、使用示例、变量赋值、判断语句、循环结构、数组的使用以及游标的操作。 一、创建存储过程 在Oracle中,创建存储过程的语法一般使用`CREATE OR REPLACE PROCEDURE`语句,...
本文将详细介绍 Oracle 存储过程的使用手册,包括创建存储过程、变量赋值、判断语句、For 循环、While 循环和数组的使用。 1. 创建存储过程 创建存储过程的基本语法为:`CREATE OR REPLACE PROCEDURE 过程名(参数...
在 Oracle 中,数组实际上是一种表类型,每个数组元素就是表中的一个记录。 (1)使用 Oracle 自带的数组类型 例如,创建一个名为 test 的存储过程,输出数组元素: ```sql CREATE OR REPLACE PROCEDURE test(y ...