私はこの特定の問題に何時間も苦労しています。うまくいけば、誰かがこれについて私を助けてくれます。
上記の質問のように、テーブルから構築された表形式のフォームがあり、主キー ('ID') が「Identity Always」として設定されています。データに変更を加えて [保存] をクリックすると、Apex に次のエラーが表示されるため、これが表形式の問題になりました。
ROWID などのいくつかの回避策を試しましたが、表形式のフォームを他のテーブルのフィールドと結合して追加情報を表示する必要があるため、この解決策は機能しませんでした。したがって、ROWID は保持されず、主キーとして使用できませんでした。
また、次のApex ドキュメントも読みました。
表で IDENTITY 句を使用すると、Application Expressアプリケーションに影響を与える可能性があります。ALWAYS パラメータが指定された IDENTITY 列が INSERT または UPDATE ステートメントに含まれている場合、データベースによってエラーが発生します。Application Express Builder が拡張され、テーブルの作成ウィザード内で ID 句を指定できるようになりました。フォームの作成ウィザードは、ALWAYS パラメータを使用して ID 列の「表示専用」アイテムを生成します。
わかりません。Apex は確かに余分な列 ('ID_Display') を生成しましたが、表形式のフォームが同じエラー (上記の ORA-32796) をスローするという事実は変わりません。この「表示のみ」の項目は、「生成された常に ID 列を更新できない」からどのように私を救うことができますか?
補足として、私はサービスとしてのApexであるapex.oraclecorp.comで開発しています。ここでは、ファイルにアクセスしたり、テーブルにSQLを変更したりできません。以前にこの問題に遭遇し、解決策を見つけた場合はお知らせください - 事前に感謝します!
PS Apex のバージョンは 5.0.4 です。
編集:
申し訳ありませんが、Apex で SQL 操作を実行するための SQL コマンド UI があることに気付きました。テーブルの ID を ALWAYS から DEFAULT に変更する方法を知っている人はいますか?