便利なサブプログラム

http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/appdev.102/B19257-01/subprograms.html#1225

↑を見てみると、FUNCTION、PROCEDUREの中にサブプログラムの定義ができることが書いてありました。

実際に触ってみた。

CREATE OR REPLACE PROCEDURE PROC_TEST
IS
	PROCEDURE SHOW(MSG IN VARCHAR2)
	IS
	BEGIN
		DBMS_OUTPUT.PUT_LINE(MSG);
	END;
BEGIN
	SHOW('HELLO');
END;
/

メッセージを出すだけですが、、、、
これはつかえる

ちなみにFUNCTION内でもかけます

CREATE OR REPLACE FUNCTION FUNC_TEST
RETURN NUMBER
IS
	FUNCTION ADD_100(NUM IN NUMBER)
	RETURN NUMBER
	IS
	BEGIN
		RETURN NUM + 100;
	END;
BEGIN
	RETURN ADD_100(100);
END;
/

サブプログラムがあれば、わざわざPACKAGE宣言する必要がなくなる場面が
多くなりそう。