Title |
[ORACLE] MERGE INTO使用時にORA-29886発生 | Product |
Plug-In |
---|---|---|---|
Phenomenon |
ORACLE9i以上から支援される新しいSQLで、MERGE INTO文章がある。これは値が存在する
場合はUPDATEを、存在しない場合はINSERTが遂行できるようにする文章で、 PARALLEL遂行もできる。 暗号化が遂行され、暗号化カラムに対するINDEXが生成されたTABLEに対してMERGE INTO文章を 遂行すると、以下のようなエラーメッセージが出力される。 “ORA-29886: DOMAIN INDEXに機能が提供されません。” 暗号化されたカラムに対する索引検索を支援するCubeOne™のADVANCED INDEXはDOMAIN INDEXES機能の一部を使用している。 |
||
Cause |
ORACLEからはDOMAIN INDEXESを生成したテーブル
に対してはMERGE INTO文章を支援しない。 |
||
Solution |
今までのORACLEバージョンでは、MERGE INTO文章を支援する方法はない。
1) SQL文変更 : MERGE INTO文章で使用する暗号化されたTABLEを使うためのVIEWの代わりに、 暗号化テーブルに直接ACCESSするように修正し、暗号化されたカラムは暗・複合関数を使用するように SQL文を変更して使う。 2) 応用プログラム変更 : MERGE INTO節の代わり、応用プログラム(APPLICATION)を変更して 状況に応じてUPDATEまたはINSERTできるように変更して使用する。 |