2016-08-31 4 views
1

私はこの特定の問題を何時間も苦労しています。うまくいけば、誰かが私を助けることができます。Oracle Apex:主キーがIDとして常に設定されている表の表形式を更新するにはどうすればよいですか?

上記の質問と同じように、私はテーブルから構築されたテーブルを持っています。このテーブルは、主キー(ID)が「常にID」として設定されています。 ORA-32796:常に生成されたID列を更新できません。

このような回避策をいくつか試しましたが、この問題を回避するために、他のテーブルのフィールドと表形式のフォームを結合して追加情報を表示する必要があるため、このソリューションは機能しません。したがって、ROWIDは保存されず、主キーとして使用できません。

Utilizing the IDENTITY clause on a table can have an impact on Application Express applications. An error will be raised by the database if an IDENTITY column, with ALWAYS parameter specified, is included in an INSERT or UPDATE statement. The Application Express Builder has been enhanced to allow the specification of the identity clause within the Create Table Wizard. The Create Form wizard will generate a "Display Only" item for an identity column with the ALWAYS parameter.

私は理解していない:

は私もApex documentationで読みます。 Apexは本当に余分な列( 'ID_Display')を生成しましたが、私の表形式が依然として同じエラー(上記のORA-32796)をスローするという事実は変わりません。この「表示専用」アイテムは、「生成された常にID列を更新できません」から私を救う方法はありますか?

私はapex.oraclecorp.comでApexをサービスとして開発しています。そこではファイルにアクセスできないか、テーブルにSQL変更を加えました。この問題が発生した場合は事前にお知らせください。

P.S. Apexバージョンは5.0.4です。

EDIT:

申し訳ありませんが、私はちょうどApexでSQL操作を実行するSQLコマンドUIがあり実現。誰でも、いつもDEFAULTからテーブルのアイデンティティを変更する方法を知っていますか?

答えて

0

だから私は、これは問題と解決策の実際の理解よりも回避策の詳細です確信しているが、ウィザードでは、私がことがわかった:

あなたがしているウィザードの設定で「フォーム属性」次のように:

Primarkyキータイプを:「あなたの列」 主キー列:(私はここに入るには何も持っていなかった) 主キーのソースの種類:「プライマークキー列(複数可) 主キー列を選択しますExisting Trigger '(これはID列が私が作業していたテーブル/フォーム上にあることを可能にするように思われました)。私はこれを「Existing Sequence」に変更して、同じ問題に取り組んでいました。

これを理解したことがある場合は、詳細を知りたいと思います。

もっと読書が必要ですが、それは何かされています...

0

以下は、編集可能なインタラクティブグリッドと私のためにORA-32796のインサートの問題を解決しました。私は表形式の場合も同じことを考えています。

  1. 問題のページの後ろのページデザイナー。
  2. [処理中]をクリックするか、[コンポーネントビュー]をクリックし、[ページ処理]の下のプロセスをクリックします。編集可能なインタラクティブグリッドの場合、それは「インタラクティブなグリッドデータを保存する」プロセスです。
  3. プロパティの「挿入後の主キーを返す」セクションの「はい」をクリックします。
  4. [保存/実行]をクリックします。
関連する問題