幼稚園時代「何組」でしたか?

Aテーブルに同じフィールドを持ったcsvをd, e, f, g と4つのフィールドを比べて
1つでも違っていたら、insertするというSQLをつくりたいのですが、
これは、ストアドになるのでしょうか?
データはだいたい5万件くらいあります。
サーバーはSQLServerになります。
宜しくお願い致します。

A 回答 (3件)

ストアドになります。


1.d,e,f,gのフィールドをプライマリキーに設定します。
2.insertする
3.@@erroroでエラー番号持ってきてプライマリキー違反だったら無視して続行。そのinsertが成功だったら続行。それ以外のエラーだったらエラー処理

プライマリキーに設定しないのであれば、まぁ普通にselectしてデータを取得することができなかったらinsertって方法をとるしかないですね。

この回答への補足

ありがとうございます。
>プライマリキーに設定しないのであれば、まぁ普通に>selectしてデータを取得することができなかったら>insertって方法をとるしかないですね。
あまり、イメージがわかないのですが、これは具体的にはどんな感じになるでしょうか?
厚かましいですが、宜しくお願いします。

補足日時:2005/10/20 00:36
    • good
    • 0

一回だけのバッチ作業ですか?


であれば

仮テーブルを作成
csvを全部取り込む
連結クエリのdelete文でまったく同じレコードを消す
残ったのをまとめてinsert


何度も行う必要があるならお薦めできない方法ですが
取り込み対象を確認できるのでらくだと思います
    • good
    • 0
この回答へのお礼

ありがとうございます。
アドバイスどおり、Insert文で頑張ってみたいと思います。

お礼日時:2005/10/21 00:22

追記で。



この処理をストアドにする意味があるかっていったらあんまりないでしょうね...
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/10/21 00:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す


おすすめ情報