24

グリッドを介してレコードを更新しようとすると、このエラーが発生することがあります。

One error saving changes to table "SCHEMA"."TABLENAME":
Row 3: Data got committed in another/same session, cannot update row.

OTN を調べましたが、解決策はまだありません。

行の変更時に編集を投稿するオプションを無効にしようとしましたが、まだ運がありません。

SQL ワークシートを使用してフィールドをNULLに設定する既知の解決策がありますが、これは確かに面倒です。

4

4 に答える 4

34

テーブルが NOROWDEPENDENCIES で作成されているため、行レベルの依存関係の追跡がオフになっており、SQL Developer が「DataEditor の挿入および更新ステートメントに ORA_ROWSCN を使用する」ように構成されている可能性があります。

ORA_ROWSCN オプションのチェックを外すか、ROWDEPENDENCIES を指定してテーブルを再作成してください。

于 2012-05-22T07:55:28.283 に答える
5

簡単な更新コマンドを実行して、cplumn を null に設定するだけです。次に、あなたの本当の価値で更新してみてください。それは間違いなくうまくいくでしょう。

于 2012-12-12T10:01:49.253 に答える
-1

ストアドプロシージャの実行中にもこの問題に遭遇しました。私の解決策は、上記の回答と一致しました。必要な行を必要な値に更新する前に、最初に列を null に更新する更新行を追加しました。次の行は、列を必要な値に更新しました。ORA_ROWSCN のボックスのチェックを外すことに加えて、これを行いました。

UPDATE TEST_LOCATION SET STATUS = NULL WHERE FULL_NAME = SITE_FULL_NAME;

UPDATE TEST_LOCATION SET STATUS = CAST(STATUS_IN AS INTEGER) WHERE FULL_NAME = SITE_FULL_NAME;

于 2014-10-02T02:44:05.563 に答える