問題タブ [ora-00001]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - エラーが発生した場合にPL/SQLで行番号、プロシージャ名を見つける方法
D2k 6i フォームを使用していて、格納されたデータベース (oracle9i) プロシージャ ORA-00001:Unique constraint(.) 違反からフォームにエラーが発生しましたが、どのプロシージャから来たのかを追跡できません。誰でもこれに関して私を助けることができますか
sql - Oracle - 変更されていない値に対して更新が実行されない UPSERT
現在、次の update または insert Oracle ステートメントを使用しています。
これは、データが指定されたパラメーター値と同じである場合に更新ステートメントがダミーの更新を実行することを除いて、正常に実行されます。通常の状況ではダミーの更新は気にしませんが、テーブルのトリガーを使用して更新されたレコードをキャプチャし、このステートメントを多くのレコードに対して頻繁に実行することは、単にトリガーと同期システム。
次の IF-EXISTS チェック コードを使用せずに更新ステートメントがレコードを更新しないように、このコードを再定式化する簡単な方法はありますか?
MERGE INTO 文も使ってみたのですが、値が変更されていない場合の更新では機能しません (更新は何も変更せずに挿入を実行しますが、PK 違反が発生します)。
完全な MERGE INTO サンプル:
Oracle が UPDATE...IF SQL%ROWCOUNT=0 THEN INSERT... を MERGE INTO 句に内部的に使用しているように見えますか? 2 番目の MERGE INTO ステートメントは失敗します。update は何も更新せず、INSERT が実行され、値が変更されなかっただけで行が既に存在するため、PK 違反が発生するためです。
c# - TextBox Multiline で行番号を選択する方法
私のフォーム (winforms) の System.Windows.Forms.TextBox コントロールに、2008 に対して大きなテキストがあります。
テキストを見つけて、そのテキストが見つかった行番号を選択します。
サンプル、
太い大きなテキストがあり、「ERROR en línea」が見つかりました。テキストボックスの複数行で行番号を選択したいです。
Copyright (c) 1982, 2005, Oracle. 全著作権所有。
******** 詳細テキスト ************
接続 a: Oracle Database 10g Enterprise Edition リリース 10.2.0.4.0 - パーティション化、データ マイニング、および Real Application Testing オプションを使用した 64 ビット プロダクション
エラー 2 行目:
ORA-00904: ""LAVECODIGO"": v?lido の識別子がありません
エラー 1 行目:
ORA-00001: 制限事項 (XACO.INX_COM_CODIGOS_PK) violada";
******** 詳細テキスト ************
それに関するサンプルコードはありますか?
sql - MERGE-INSERTの例外と一致しない場合
MERGEを使用したPL/SQLプロシージャがあります:
ここで、クエリs
が同じIDの複数の行を返し、ORA-00001が返されるとします。一意の制約エラー
私がやりたいのは、複製された列を別のテーブルmy_Table_recyledbinに送信して、INSERTを成功させることです。使用できますEXCEPTION WHEN DUP_VAL_ON_INDEX
か?はいの場合、MERGEステートメントでそれを使用する方法は?
前もって感謝します
sql - Oracleでの1->1/1->Nの関係?
私は2つのテーブルを持っています
foo_id は、それぞれのテーブルの両方の主キーです。2 番目のテーブルの foo_id は、最初のテーブルへの外部キーです。シーケンスを使用して両方のテーブル値の PK を生成し、挿入を試みます。1 回は FooHeader に、2 回は FooBody に挿入します。
私のコードは、エラー「ORA-00001: 一意の制約 (USERID.FooBodys_PK) に違反しています」からのループで t_FooBodys への 2 番目の挿入でクラッシュします。
だから私は2つの質問があります:
1) MSSQL Server と Oracle の根本的な違いは何ですか? これはSQL Serverでうまくいきました!私はそこに常に1対1/多の関係を持っていました
2) 別のキーを追加して基本的に共有主キーの概念を終了する以外に、これを修正する最も簡単な方法は何ですか?
どうもありがとう
java - BatchUpdateException から問題のある挿入を見つける方法は?
一意の制約違反の結果として BatchUpdateException が発生した場合、バッチ挿入のどのレコードが違反しているかを特定する方法はありますか? たとえば、PreparedStatement.executeBatch() を呼び出してバッチ挿入を実行していて、「ORA-00001: 一意の制約 (ABC.SYS_123) 違反」が原因である BatchUpdateException をキャッチするとします。Eclipse を使用してデバッグする場合、これはこの例外から得られる情報とほぼ同じですが、一意の制約違反の原因となっている実際の挿入を特定したいと思います。この情報を見つける方法はありますか?
私のコードは現在(多かれ少なかれ)次のようになっています。
関連する場合に備えて、Spring の JdbcTemplate と Oracle 11G データベースを使用しています。
アドバイスをよろしくお願いします。
--ジェームズ
oracle - Hibernate/Oracle seqhilo ジェネレーター
Oracle の Hibernate アプリケーション用に seqhilo ジェネレーターを構成しようとしています。
Oracle データベース 10g でシーケンス (S_TEST) を作成しましたが、残念ながら機能しません。ID は常に null です。オラクルデータベース内でseqhiloジェネレーターを使用する方法を説明してもらえますか?私は混乱しているかもしれません:(
生成された sql トレースは次のとおりです。
生成する必要があるフィールド (id_Test) は、ジェネレーターをシーケンスまたはネイティブに変更しても常にゼロに等しく、結果は同じままです。
sql - Oracleで、「TABLEへの値の挿入または更新」を実行できますか
2つの数値列を持つテーブルがあり、両方に一意の制約があります。ペアがすでに存在しない限り、新しい値のペアを挿入したいと思います。これを行う最も簡単な方法は何ですか?
私が行った場合
ペアはすでに存在しますORA-00001エラーが発生するので、次のようなことをしたいと思います
sql - 一般エラー: 1 OCIStmtExecute: ORA-00001: 一意の制約 (HR.SYS_C004023) に違反していますか?
一意の値の制約が原因で、テーブルが「ブランチ」であり、SYS_C004023 がどこから来たかというエラー メッセージを特定できます。ブランチ テーブルを確認しましたが、値の重複はありません。何が問題になる可能性がありますか。
oracle - JPA2を使用してIDを複製し、テストする
私は今少し混乱しています:-S
私はJPA2、Spring 3.0.5、Hibernate3.6.0Finalを使用するプロジェクトに取り組んでいます。次のコードがあります(関連するクラスのみ)
ここで、ロールバックをfalseに設定してテストを実行すると(実際の単体テストではありません)、次のスタックトレースが取得されます。
ロールバックを使用すると、テストに合格しますが、これはもちろん正しくありません。
さて、良い解決策はありますか?
ご協力いただきありがとうございます
BBピーター