2016-09-24 9 views
0

ここに新しいテーブルに値を挿入しようとしています。しかし、私は(ORA-00001:ユニーク制約(MYSCHEMA.SYS_C007106)違反)を取得します。これはcondo_idを一意としています。私はcondo_idを新しいテーブルに挿入していませんが。どうすれば解決できますか?他のテーブルから情報を挿入する

insert into large_condo 
    select location_num, unit_num, bdrms, baths, condo_fee, owner_num 
     from condo_unit 
    where sqr_ft > 1500; 

追加情報:

condo_idが引き金です。トリガーをバイパスするにはどうしたらいいですか?

+0

オブジェクトブラウザに移動し、無効になったことが賢明だろうありがとうあなたの問題は何ですか?アウトライン・スキーマには、すべての列とそのタイプ、およびすべての制約(特に一意または主キー制約)、および表上のトリガーが含まれている必要があります。おそらく 'condo_unit'テーブルのスキーマは必要ありません。 'large_condo'が' condo_unit'テーブルのビューであるという危険はありますか? –

+0

列をリストしない 'insert'文を使用している場合は、すべての列に値を指定しなければならないことを意味します(そうでなければ、オラクルは考えませんどのサブセットの列を追加しようとしていましたか)。実際にここに投稿した 'insert'文を実行している場合は、' condo_id'の値を挿入する必要があります。私はどの列であるのかは分かりませんが、主キーは一般的にテーブルの最初の列だと思います。おそらく意味をなさない 'condo_id 'として' location_num'を使用しようとしていると思います一意ではありません。 –

答えて

0

テーブルのcondo_unitに主キーがある可能性があります。同じ値を再度挿入すると、このエラーが発生します。

または、NULL値をNOT NULL列に挿入する場合。 またはインデックスを定義することができます。表を記述し、それらを検証する。私は考えることができる

0

2つの可能性:

  1. デフォルト値はcondo_id列に設定されています。 USER_TAB_COLUMNSを照会すると、これを見ることができます。

  2. condo_id列の値を設定するトリガーがあります。あなたはUSER_TRIGGERSのトリガー名を探して、USER_SOURCEのトリガーソースを見ることができます。

0

ことなしに、私たちは推測して抱えているので、あなたが `large_condo`テーブルのスキーマを示した場合、私が何をしたか、誰もが制約

関連する問題