ストアドのコンパイル時に文字を埋め込む


ストアドプロシージャ内に&を記述しておくと、
そこの値はコンパイル時に値を埋め込むことができる。


harada_lab.sql

CREATE OR REPLACE FUNCTION harada_lab	(Pa_Message			OUT	VARCHAR2
										) RETURN NUMBER AS

USER_ABEND	EXCEPTION;

BEGIN

	--&comment
	DBMS_OUTPUT.PUT_LINE('msg = ' || &param);

	return 0;


END;
/
SHOW ERRORS

上記のストアドをコンパイルしようとすると以下のように
埋め込む文字を促される。

>commentに値を入力してください: こめんと
旧   8:         --&comment
新   8:         --こめんと
>paramに値を入力してください: 'ごー'
旧   9:         DBMS_OUTPUT.PUT_LINE('msg = ' || &param);
新   9:         DBMS_OUTPUT.PUT_LINE('msg = ' || 'ごー');


なので、コメントに&を使用しないよう注意すること。