備忘録

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

outパラメータ

select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for 64-bit Windows: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production

set serveroutput on

CREATE TABLE OUT_PARAM (
pNum NUMBER(10) default 1
,pCHR CHAR(10) default '1'
,pVCR VARCHAR2(10) default '1'
,pDT DATE default sysdate
,pTS TIMESTAMP default systimestamp
,pNV NVARCHAR2(10) default '1'
,pNC NCHAR(120) default '1'
);

create or replace PACKAGE BODY OUT_PARAM_TEST as

TYPE T_OUT_PARRAM IS RECORD (
pNum NUMBER(10) default 1
,pCHR CHAR(10) default '1'
,pVCR VARCHAR2(10) default '1'
,pDT DATE default sysdate
,pTS TIMESTAMP default systimestamp
,pNV NVARCHAR2(10) default '1'
,pNC NCHAR(120) default '1'
);

PROCEDURE HOGE(
pInt OUT PLS_INTEGER
,pNum OUT NUMBER
,pCHR OUT CHAR
,pVCR OUT VARCHAR2
,pDT OUT DATE
,pTS OUT TIMESTAMP
,pNV OUT NVARCHAR2
,pNC OUT NCHAR
,pRT OUT OUT_PARAM%ROWTYPE
,pRT2 OUT OUT_PARAM%ROWTYPE
,pRT3 OUT OUT_PARAM%ROWTYPE
) IS
BEGIN
DBMS_OUTPUT.PUT_LINE('pInt[' || pInt || ']');
DBMS_OUTPUT.PUT_LINE('pNum[' || pNum || ']');
DBMS_OUTPUT.PUT_LINE('pCHR[' || pCHR || ']');
DBMS_OUTPUT.PUT_LINE('pVCR[' || pVCR || ']');
DBMS_OUTPUT.PUT_LINE('pDT[' || pDT || ']');
DBMS_OUTPUT.PUT_LINE('pTS[' || pTS || ']');
DBMS_OUTPUT.PUT_LINE('pNV[' || pNV || ']');
DBMS_OUTPUT.PUT_LINE('pNC[' || pNC || ']');
DBMS_OUTPUT.PUT_LINE('pRT.pNum[' || pRT.pNum || ']');
DBMS_OUTPUT.PUT_LINE('pRT2.pNum[' || pRT2.pNum || ']');
DBMS_OUTPUT.PUT_LINE('pRT3.pNum[' || pRT3.pNum || ']');
END HOGE;


PROCEDURE TEST IS
pInt PLS_INTEGER := 1;
pNum NUMBER(10) := 1;
pCHR CHAR(10) := '1';
pVCR VARCHAR2(10) := '1';
pDT DATE := SYSDATE;
pTS TIMESTAMP := SYSTIMESTAMP;
pNV NVARCHAR2(10) := '1';
pNC NCHAR(120) := '1';
pRT OUT_PARAM%ROWTYPE;
pRT2 T_OUT_PARRAM;
TYPE tArray IS TABLE OF T_OUT_PARRAM INDEX BY BINARY_INTEGER;
pTA tArray;
BEGIN
pRT.pNum := '2';
pRT2.pNum := '3';
HOGE(
pInt
,pNum
,pCHR
,pVCR
,pDT
,pTS
,pNV
,pNC
,pRT
,pRT2
,pTA(0)
);
END TEST;

END OUT_PARAM_TEST;
/

exec OUT_PARAM_TEST.test;
pInt[]
pNum[]
pCHR[]
pVCR[]
pDT[]
pTS[]
pNV[]
pNC[]
pRT.pNum[]
pRT2.pNum[]
pRT3.pNum[]

PL/SQLプロシージャが正常に完了しました。

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://ncdkayak.blog.fc2.com/tb.php/37-fc573c18
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。