私は半年以上Oracleデータベースを使用しています。現在、データの1行は更新できません。私はSQL開発者からさえも何もエラーも何も得られませんでした。私が更新しようとすると、常に1つの行が更新され、コミットしました。Oracleデータベースで奇妙なことが起こった
しかし、クエリを実行しようとすると、古い値が再び取得されます。この1つのエントリだけがこの問題を抱えています。
誰でも私に何か提案してもらえますか?
私は半年以上Oracleデータベースを使用しています。現在、データの1行は更新できません。私はSQL開発者からさえも何もエラーも何も得られませんでした。私が更新しようとすると、常に1つの行が更新され、コミットしました。Oracleデータベースで奇妙なことが起こった
しかし、クエリを実行しようとすると、古い値が再び取得されます。この1つのエントリだけがこの問題を抱えています。
誰でも私に何か提案してもらえますか?
私の推測では、値をリセットするトリガーがテーブルにあります。 DMLステートメント&のテーブル構造を見ることなく、これに包括的に答えられる方法はありません。
あなたがテーブルの上にトリガー持っているかどうかを調べるには:
SELECT trigger_name
FROM all_triggers
WHERE table_name = '<whatever>';
もう1つのオプションは、テーブルが実際にはビューであり、トリガーの代わりにトリガーが更新を処理していることです。 –
@Ww。編集していただきありがとうございます! – Sathya
をあなたのコードベースと間違って何かがあります。我々はそれが我々arehicとしてそれを診断する方法はありません。電話をかけないでください
だから、それをデバッグする必要があります。 SQL Developerには、これを支援するツールがあります。 Find out more。
自分のアプリケーションの仕組みがわからない場合は、by profiling your codeを開始することをお勧めします。これにより、更新プログラムの実行時に起動するすべてのプログラムが表示されます。私はトリガに関する提案に同意しますが、それはちょうど推測です。
1)同じセッションでクエリを実行しますか?もしそうなら、おそらくSathyaは正しいでしょう。 2)あなたは同じデータベース/テーブルを照会していますか? –
'dual'テーブルを更新しましたか? –
更新プログラムをどのように実行しますか?それがどのように成功するのかどのようにデータをクエリしますか? – APC