LOCKステートメントを使用してSASデータセットを更新する場合、
SETやMERGEステートメントではなく、MODIFYやUPDATEステートメントを使用してSASデータセットを更新しましょう。
SETやMERGEステートメントは、「~.sas7bdat.lck」と言う名のテンポラリファイルを作成し、
処理が終了した段階で元の「~.sas7bdat」を削除し、「~.sas7bdat.lck」をリネームします。
元の「~.sas7bdat」を削除する際に、lockが一度解除されます。
そこに別のプロセスが入ると、lockを取得したSASデータセットに別の処理が入ってしまい、
データの体裁が整わなくなる場合があります。
MODIFYやUPDATEステートメントは、「~.sas7bdat.lck」を作ることなく、
直接SASデータセットを更新していくので、上記のようなことはありません。
0 件のコメント:
コメントを投稿