バインド変数の値を確認する

実行されたSQLで使用されたバインド変数の値はV$SQL_BIND_CAPTUREで確認することができる。



使用例

SELECT	V$SQL_BIND_CAPTURE.SQL_ID,
	V$SQL.SQL_TEXT,
	V$SQL_BIND_CAPTURE.NAME,
	TO_CHAR( LAST_CAPTURED, 'YYYY/MM/DD')	LAST_CAPTURED_DATE,
	TO_CHAR( LAST_CAPTURED, 'HH24:MI:SS')	LAST_CAPTURED_TIME,
	VALUE_STRING 
FROM	V$SQL_BIND_CAPTURE 
LEFT	JOIN V$SQL ON V$SQL_BIND_CAPTURE.SQL_ID = V$SQL.SQL_ID
ORDER BY	V$SQL_BIND_CAPTURE.SQL_ID,
	V$SQL_BIND_CAPTURE.NAME

ただし、同じSQLIDで複数回SQLが実行されていた場合は必ずしも最後に実行されたときのバインド変数とは限らない。
正確にバインド変数の値を確認したい場合はトレースを仕込んでおく方がよい。



動作確認環境:Oracle 11g