三流備忘録OracleのSQL PL/SQL 関数 ついての備忘録
ホーム >> PL/SQL備忘録 >> 内部関数

内部関数

解説

宣言したプロシージャやファンクションの中で、関数を宣言する事ができます。
無駄にプロシージャやファンクションを宣言する必要がなくなります。

構文例

CREATE OR REPLACE PROCEDURE HOGE

IS

WNUM NUMBER;

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/  ■内部関数 CAL 宣言■ I1 と I2を足した数を返す
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
FUNCTION CAL
(
	I1	IN	NUMBER,
	I2	IN	NUMBER
)RETURN NUMBER IS

BEGIN


	RETURN I1 + I2;

END;

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/  ■内部関数 STRINGOUT■  I1を出力
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
PROCEDURE STRINGOUT
(
	I1	IN	VARCHAR2
)
IS

BEGIN

	DBMS_OUTPUT.PUT_LINE(I1);

END;

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/  通常プログラム
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
BEGIN
	
	--内部関数呼出
	WNUM := CAL(5,5);
	
	DBMS_OUTPUT.PUT_LINE(WNUM);
	
	
	--内部関数呼出
	STRINGOUT('HOGEHOGE');
	
EXCEPTION

	WHEN OTHERS THEN
		DBMS_OUTPUT.PUT_LINE('ERROR!!' || SQLERRM(SQLCODE));
		
END;