procedure存储过程 返回数组 博客分类: database oracle
程序员文章站
2024-03-22 20:00:22
...
文章转自:http://oracle.chinaitlab.com/induction/788759.html
1.建立包
create or replace package test is
TYPE filename_array IS TABLE OF varchar2(1);
filename filename_array;
end test;
2. 建立存储过程
create or replace procedure test_array(v_cfjg out test.filename_array ) is
begin DECLARE i number;
D_cfjg dic_cfjg%rowTYPE;
-- D_nr dic_cfjg%rowTYPE;
cursor c1 is SELECT * FROM dic_cfjg;
BEGIN
i:=0;
v_cfjg := test.filename_array(); --数组初始化
open c1;
LOOP fetch c1 into D_cfjg;
EXIT WHEN c1%NOTFOUND ;
i:=i+1;
v_cfjg.EXTEND;
-- DBMS_OUTPUT.PUT_LINE(TO_CHAR(D_cfjg.dm));
v_cfjg(v_cfjg.count):=D_cfjg.dm;
DBMS_OUTPUT.PUT_LINE(v_cfjg(v_cfjg.count));
-- 测试
-- FETCH C1 INTO D_cfjg;
-- EXIT WHEN c1%NOTFOUND ;
END LOOP;
end;
EXCEPTION
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE('TOO_MANY_ROWS');
WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(sqlerrm);
end test_array;
1.建立包
create or replace package test is
TYPE filename_array IS TABLE OF varchar2(1);
filename filename_array;
end test;
2. 建立存储过程
create or replace procedure test_array(v_cfjg out test.filename_array ) is
begin DECLARE i number;
D_cfjg dic_cfjg%rowTYPE;
-- D_nr dic_cfjg%rowTYPE;
cursor c1 is SELECT * FROM dic_cfjg;
BEGIN
i:=0;
v_cfjg := test.filename_array(); --数组初始化
open c1;
LOOP fetch c1 into D_cfjg;
EXIT WHEN c1%NOTFOUND ;
i:=i+1;
v_cfjg.EXTEND;
-- DBMS_OUTPUT.PUT_LINE(TO_CHAR(D_cfjg.dm));
v_cfjg(v_cfjg.count):=D_cfjg.dm;
DBMS_OUTPUT.PUT_LINE(v_cfjg(v_cfjg.count));
-- 测试
-- FETCH C1 INTO D_cfjg;
-- EXIT WHEN c1%NOTFOUND ;
END LOOP;
end;
EXCEPTION
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE('TOO_MANY_ROWS');
WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(sqlerrm);
end test_array;
推荐阅读
-
procedure存储过程 返回数组 博客分类: database oracle
-
Java调用oracle存储过程通过游标返回临时表 博客分类: JDBC,存储过程数据库,oracle
-
Java调用oracle存储过程输出自定义对象或二维表 博客分类: JDBC,存储过程数据库,oracle
-
mysql存储过程学习记录 博客分类: database、mysql mysql、存储过程、游标
-
如何在Oracle中使用Java存储过程 (详解) 博客分类: Oracle JavaOracleSQLSQL ServerJDBC
-
oracle 存储过程调用存储过程 博客分类: oracle oracle存储过程
-
用RUBY测试数据转移(存储过程之类的) 博客分类: Database RubyActiveRecordRailsrubygemsITeye
-
sql server、db2、oracle 存储过程动态sql语句示例 博客分类: 程序日志 ORACLE、DB2、SQL Server数据库存储过程动态SQL
-
Oracle 存储过程笔记 博客分类: 数据库 Oracle存储过程动态游标
-
ORACLE日期时间函数大全 博客分类: 存储过程oracle OracleSQLJSPD语言SUN