いくつかの MS Access クエリを Oracle に変換しようとしています。以下は、MS Access からのクエリの 1 つです。
UPDATE [結果] INNER JOIN [マスター] オン ([結果].[LAST_NAME] = [MASTER].[LAST_NAME]) AND ([結果].[FIRST_NAME] = [MASTER].[FIRST_NAME]) AND ([結果].[ドキュメント番号] = [マスター].[ドキュメント番号]) AND ([結果].[バッチ_ID] = [マスター].[リード_ID]) SET [MASTER].[CLOSURE_REASON] = "名前とドキュメント番号が一致するためクローズ", [MASTER].[RESULT_ID] = [RESULT].[ID], [MASTER].[RESULT_PID] = [RESULT].[PID] WHERE (([MASTER].[CLOSURE_REASON] は Null です) AND ([MASTER].[REC_CODE] = "A1") AND ([結果].[EVENT_DATE] = [MASTER].[EVENT_DATE]) AND ([結果].[EVENT_TYPE] = "オープン") AND ([MASTER].[DOCUMENT_NUMBER] Is Not Null) AND ([MASTER].[DOCUMENT_NUMBER)] "null"));
最初に ORA-01779: cannot modified a column that maps to a non-key-preserved table エラーを受け取りました。あなたのサイトのさまざまな例 (MERGE を含む) に従い、元のクエリを変更しました。現在、ORA-30926: ソース テーブルで安定した行セットを取得できませんというエラーが表示されます。
ほとんどの例では、テーブル間の結合は 1 つしか示されていませんでしたが、要件に基づいてさらに結合を行う必要があります。
このクエリを Oracle に変換するための助けは素晴らしいでしょう。ありがとう!