
No.2ベストアンサー
- 回答日時:
beginをした時点では単純にトランザクションのスタートを
宣言しただけで、その後の更新系のSQLで更新されたレコードが
トランザクションの対象になります(end or rollbackまで)。
また、全ての人に対して排他がかかる(テーブルロック)と
いうわけではなく、更新対象のレコードのみ排他がかかる
(行ロック)と思います。
(SQLServer2000の場合。以前のバージョンではページロック
しかかけられなかったと記憶しています)
私はjavaでSQLServerを使っていますが、javaの場合は、
明示的にbeginせずにコネクションにsetAutoCommit(false)
にして、トランザクションの終わりにcommit() or rollback()
をしてトランザクション終了、という感じです。
親切に答えて頂きありがとうございました。
今は調査段階のため、どこまで調べたらいいのかも分からず、わかりにくい質問になってしまい申しわけありませんでした。
どういう状況でのロックを上が想定しているかわからないので調査も一苦労です。
使う状況などが見えてきたらまた質問させていただくかもしればせんがよろしくお願い致します。
No.1
- 回答日時:
基本的に更新系のSQLを実行すれば対象レコードは排他がかかると
思いますが、Select文ではfor updateつければよかったような。
これはOracleだけかな?
この回答への補足
トランザクションというのは、どこで排他をかけているのでしょうか?
行のロックとかとは違いがあるのでしょうか?
BEGINをしていたら他の人が入ってこれないって感じでいいのでしょうか?
追加質問で申し訳ありません。
よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT FOR UPDATE にトランザ...
-
accessのロック
-
テーブル作成クエリで新テーブ...
-
クエリのキャンセルがいつにな...
-
ACCESS VBA コマンドDoCmd.Open...
-
「マスタ」と「テーブル」の違...
-
エクセルアドインの使用方法に...
-
不動産検索サイトのような複数...
-
AccessのテーブルをSQL Server...
-
同じ構成のテーブルを結合する
-
正規化・リレーションシップに...
-
DB2のデーターベースに、ADOで...
-
ビューにインデックスを設定で...
-
Access VBA [リモートサーバー...
-
オラクルではできるのにSQLSERV...
-
レコード単位にトランザクショ...
-
ユニオンクエリの結果をテーブ...
-
Access 1レコードずつcsvで出力...
-
インデックスの再構築の意味っ...
-
Access2つのテーブルの差額を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT文でのデッドロックに対...
-
SQLServer Insertが遅い
-
SELECT時の行ロックの必要性に...
-
accessのロック
-
AccessShareLock はどの程度気...
-
Oracleの排他制御について教え...
-
更新ロックとデッドロック
-
INSERTにおいてロック処理は必要か
-
DB2のロック調査
-
排他ロックしたレコードが、別...
-
トランザクションとlast_insert_id
-
SELECT文でタイムアウト...
-
トランザクション中にSELECTし...
-
デッドロックが発生します。
-
ExcelからAccess2013DBを更新す...
-
UPDATE文で発生するデッドロッ...
-
トランザクション処理について
-
DB2でSelectした時(rollback,c...
-
パススルークエリでのロックに...
-
SELECT FOR UPDATE にトランザ...
おすすめ情報