2008-09-09 20 views
1

だから、私は2つのデータベース・インスタンスを持って、一つは別のユニットテストのために開発からコピーされた、一般的に開発のためです。データベースから削除できません...?

何かが、私が把握することはできません開発データベースに変更され、私が異なっているかを確認する方法がわかりません。

Iは、例えばで、特定のテーブルから、削除しよう:

delete from myschema.mytable where id = 555 

私は行がないことを示す単位テストDBから次の正常応答が削除された取得:

SQL0100W No row was found for FETCH, UPDATE or DELETE; or the result of a query is an empty table. SQLSTATE=02000

しかし次のエラーで開発データベースがまったく削除されません。

DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: SQL0440N No authorized routine named "=" of type "FUNCTION" having compatible arguments was found. SQLSTATE=42884

私の推測では、問題を引き起こしているトリガーやビューが追加されたり変更されたりしていますが、どのように問題を発見するかわかりません。誰にもこの問題があったか、問題の根は?

(これは、DB2データベースであることに注意してください)

答えて

1

はうーん、この質問への偉大な神託を適用し、私が思い付いた:

http://bytes.com/forum/thread830774.html

ときにFKに、別のテーブルには問題が1で指し示す外部キーを持っていることを示唆しているようです他のテーブルが削除された場合、削除は再び機能するはずです。 (おそらく、外部キーも再作成できます)

これは役に立ちますか?

0

あなたはのdevのDB上のオープン・トランザクションを持っているかもしれません...

0

は555と互換性のあるIDの一種であるSQL Server上で、時には私を取得すること?または、非整数型に変更されていますか?

また、555引数が何らかの形で行方不明にない(例えば、あなたはその引数がクエリを実行する前に設定されませんでしたJDBCおよびプリペアドステートメントを使用している場合)?

0

あなたは、あなたの質問に多くを追加することはできますか?そのエラーは、SQL文パーサのようにあなたの文について非常に混乱しているように聞こえる。 id = 555の行に対してそのテーブルでselectを実行できますか?あなたはそのテーブルの上にRUNSTATSとREORG TABLEを実行してみてください可能性が

、それらはグラグラテーブルを整理することになっています。

0

@castaway

条件が正常に動作します「どこで」と同じ、ただ削除しないと選択します。 runstatsもreorgテーブルも問題に影響しません。

0

@castaway

私たちは、実際には問題を解決し、そして実際に、それはあなたが(同僚があまりにもまったく同じページを発見)とまさにです。

ソリューションは、外部キー制約をドロップし、それらを再度追加することでした。

テーマに別のポスト:

(私たちはこれのDB2 V9の以降のバージョンで修正、おそらくとにかく問題は、参照制約の破損であることを示し、実際にある、またはhttp://www.ibm.com/developerworks/forums/thread.jspa?threadID=208277&tstart=-1

まだ使用していません)。

ありがとうございました!

0

1.トリガー、プロシージャー、関数などのあなたの引数 2.引数のデータ型。

関連する問題