SYS.ALL_ARGUMENTS
に下位互換性のある問合せを作成したいとします。 Oracle 11gでは、有用なALL_ARGUMENTS.DEFAULTED
列が追加されました。私は、Oracle 10gのに対して、このクエリ実行する場合:今Oracleディクショナリ・ビューに存在しない可能性のある列を選択してください
SELECT defaulted FROM all_arguments
を私はもちろん、エラーが発生します。
ORA-00904: "SYS" "ALL_ARGUMENTS" "債務不履行":。。
SELECT CASE WHEN column_exists("defaulted") THEN defaulted ELSE 'N' END FROM all_arguments
あるいはさらに良い:無効な識別子が
私は何をしたいのはこれです
SELECT evaluate_column_on_current_row(column_name => "defaulted",
default_if_not_exists => 'N')
FROM all_arguments
PL/SQLを使用せずに、1つのSQLクエリでこれを行う方法はありますか?それとも私はこのような最初のOracleのバージョンを確認する必要があります
SELECT count(*)
FROM all_tab_cols
WHERE owner = 'SYS'
AND table_name = 'ALL_ARGUMENTS'
AND column_name = 'DEFAULTED'
どのようなエラーが表示されますか? – Arion
@Arion:ORA-00904 ...更新された質問を参照してください。 –