- 締切済み
SQLのUPDATE文について
SQLSERVER 2000を使っています。 項目1には新しい情報が入り、 項目2には以前の項目1の情報を残すというような データの更新のことで考えているのですが、 UPDATE tableA SET 項目1 = '新規', 項目2 = 項目1 というように、1度のSQLで処理してしまうのは安全なのでしょうか? 試しに実行してみたところ希望の結果を得ることができましたが、 先に項目1が更新されてその値を項目2も持ってしまうような気がして不安になっています。 2度の処理に分割すると余計な処理時間が発生してしまうと思い、 安全であると確証が持てるならば、1度で処理したいと思っています。 何かおわかりになることがあればアドバイス下さい。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- cse_ri2
- ベストアンサー率25% (830/3286)
回答No.1
不安に思うのであれば、正規のMS-SQLServerの教育を受け、 正しい知識を習得することをオススメします。 SQL-Serverが内部でどういう動きをしているかについて精通 すれば、不安も自然と取り除かれるかと。 ちなみにSQL-Serverに限りませんが、通常のRDBMSであれば、 COMMIT文を発行するまでは書き込んだ値が確定しませんので、 書き込んだ結果に問題があるようであれば、ROLLBACK文を 実行すれば、元に戻ります。
お礼
回答ありがとうございます。 正規の教育というもの・・・受けてみたいです。 でも、実際は予算も時間も余裕がなく、 WEBと本で情報を漁るのが限界です。 それゆえに、知ってる方がいたらと質問させてもらいました。 また、トランザクション処理の方ですが、 書き込んだ結果に問題があるかどうかというのは、 UPDATE文実行後、チェックのためのSQL文を 実行すると言うことになるのでしょうか?