
一定範囲(複数)のデータを追加したい場合、
追加する時に、既に既存のデータがある場合は、
データを上書きし、無い時は、データを新規追加
する、ということをやりたいのですが、SQL文で、
そのような命令はあるでしょうか。
Excelで打ち込んだ、数件のデータを、データベース
用の別のExcelシートに一気に保存したい時に、
この問題が生じてしまいます。
(INSERT命令のみだと、すべて新規となるので、
重複データができてしまい、何が新規でなにが新規
でないかをいちいち区別し、処理を分けるのも
困難です)。
非常に初歩的かもしれませんが、お願いします(ちなみに、ExcelVBAで、SQLを使おうと思っています)。
No.1ベストアンサー
- 回答日時:
>何が新規でなにが新規でないかをいちいち区別し、処理を分ける
処理を分けるのはやらないとしょうがないです。
とりあえず、
UPDATEでやってみて
エラーになったら
INSERTするというのはどうでしょうか
No.3
- 回答日時:
主キーが存在するのであれば(重複と言っているわけですから当然あるはずです)、まず主キーで元のテーブルの一致するレコードを全て消します。
その後、Insertすれば問題ありません。
例)
Delete From Table_org Where 主キー in (Select 主キー From Table_App)
Insert Into Table_org Select * From Table_App
いろいろ回答ありがとうございました。
回答を見た限り、一発でこのような処理をするのは
無理そうですね。
処理を分けてやってみます。
No.2
- 回答日時:
一発での処理(SQL文)はできないでしょうね。
>何が新規でなにが新規でないかをいちいち区別し、処理を分けるのも困難です
処理ロジックとしては・・・
追加データの主キーで検索
→ヒットしたら、ヒットしたレコードを削除し、追加データをINSERTする。
→ヒットしなかったら、そのまま追加データをINSERTする。
で、どうでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MS-Accessのエクスポートで異常...
-
SQLServerのデータを支店間で参...
-
Sqliteで使えない文字。
-
会社の諸事情により全システム...
-
DATファイルをEXCELで開きたい
-
【DB】同じトランザクション内...
-
SQL Server Management Studio ...
-
TPSとは・・・
-
accessの処理が遅い
-
復旧中のデータベースについて
-
VSAM,QSAM,BSAM,BPAM,BDAM
-
一つのテーブルだけを復元(リス...
-
mdfファイルの残骸について
-
tempdb の適切なサイズ
-
dbFailOnError とは?
-
Accessdでの「トランザクション...
-
復元に異常に時間がかかる
-
データベースのアタッチができ...
-
OracleのROWIDについて…
-
アタッチができない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MS-Accessのエクスポートで異常...
-
ACCESSのデータをWebブラウザで...
-
ACOSのRDBについて教え...
-
会社の諸事情により全システム...
-
Sqliteで使えない文字。
-
ACCESSのクエリからORACLEのDB...
-
1回目の実行に3分、2回目の実行...
-
SQLServerのデータを支店間で参...
-
accessの上限容量2Gでは容量が...
-
SQLSERVERのテーブルにデータを...
-
access SQLサーバとの接続によ...
-
別サーバーへのデータの同期更...
-
業務用のデータベースサーバー...
-
SQL ServerにExcelをリンクさせ...
-
ファイルメーカーで外部csvファ...
-
oracleデータベースの更新履歴
-
データファイルに書き込まれる...
-
ACCESS2010 Excelエクスポート ...
-
暗号化したDBのデータ移行
-
SSMSEを使ったクエリ結果をエク...
おすすめ情報