sql >> データベース >  >> RDS >> Oracle

Oracle-Oracleはトランザクション固有のDMLステートメントをどのように管理しますか

    Oracleは、主キー制約を適用するための索引を作成します(デフォルトでは一意の索引)。セッションAが最初の行を挿入すると、インデックス構造は更新されますが、変更はコミットされません。セッションBが2番目の行を挿入しようとすると、インデックスメンテナンス操作は、その特定のキーを持つインデックスに保留中のエントリがすでに存在することを通知します。セッションBは、共有インデックス構造を保護するラッチを取得できないため、セッションAのトランザクションが完了するまでブロックされます。その時点で、セッションBはラッチを取得してインデックスに独自の変更を加えることができるか(Aがロールバックされたため)、または他のエントリがコミットされたことを通知し、一意の制約違反をスローします(Aがコミットされたため) )。



    1. SQLのみを使用して選択、更新、または挿入した後に影響を受けるプライマリキーを取得しますか?

    2. JSONとサーバーへの画像のアップロード

    3. SQLServerのストアドプロシージャまたは関数の最終変更日を確認する方法

    4. ユーザーが同じレコードを編集できないようにする