请在这件事情上帮助我,
我们能够在Oracle存储过程中创建多维数组吗?如果是这样,你能用一个例子来解释吗?
我们能够从Oracle存储过程发送包作为out参数吗?
请帮帮我。
谢谢你, 施拉姆答案 0 :(得分:0)
/* Package header */
CREATE OR REPLACE PACKAGE exmaple_pkg AS
TYPE example_rec IS RECORD(col1 NUMBER, col2 NUMBER );
TYPE example_ntt IS TABLE OF example_rec;
PROCEDURE example_proc(parameter_out OUT example_ntt);
END exmaple_pkg;
/* Package body */
CREATE OR REPLACE PACKAGE BODY exmaple_pkg AS
PROCEDURE example_proc(parameter_out OUT example_ntt)
AS
BEGIN
parameter_out := example_ntt();
parameter_out.EXTEND;
parameter_out(1).col1 := 11;
parameter_out(1).col2 := 22;
END example_proc;
END exmaple_pkg;
/* Call the procedure */
DECLARE
l_variable exmaple_pkg.example_ntt;
BEGIN
exmaple_pkg.example_proc(l_variable);
DBMS_OUTPUT.PUT_LINE('col1:' || l_variable(1).col1);
DBMS_OUTPUT.PUT_LINE('col2:' || l_variable(1).col2);
END;
/* The result */
col1:11
col2:22