別のトランザクションと競合しているために、実行時に、トランザクションが、テーブルかレコードを開くことができない場合、Magicはテーブルをオープンし続けようとします。アクセス待ちの間、Magicはテーブルかレコードが現在ロックされることを示すメッセージを表示します。
他のユーザがEscキーを押下してタスクをアボートさせたり、トランザクション処理が終了した場合、Magicはテーブルやレコード内容の取得しようとします。もし両方のユーザのトランザクションに矛盾がなければ、テーブルやレコードへのアクセス待の必要はありません。
Magicには、ロック方式として3種類の方法があります。
物理ロック DBMSによって定義された方法を使用して実行するデータベースロックです。例えば、Oracle で 「SELECT....FOR UPDATE」を使用する場合や、MS-SQL Serverで「SELECT...UPDLOCK」を使用する場合です。
論理ロック タスクで位置や選択カラムを含んだ Where句を使用することでMagic内でUPDATEコマンドを発行します。
Magicロック Mglocを使用して実行される論理ロックです。
デフォルトは、ODBCを除くSQL系のGateway では物理ロックが使用されます。