既存のSASファイルに対する排他的ロックの取得、リスト出力、または解除を行います。
該当要素: | 任意の場所 |
カテゴリ: | プログラム制御 |
制限事項: | 現在、他のSASセッションがアクセスしているSASファイルをロックすることはできません(排他的ロックされている、そのファイルが開かれているためロックできません)。 |
LOCKステートメントの構文は、シングルユーザー環境でも、クライアント/サーバー環境でも同じです。ただし、LOCKステートメントの機能によっては、クライアント/サーバー環境にのみ適用される場合があります。 |
SASライブラリに関連付けられた名前を指定します。libref (ライブラリ参照名)には、有効なSAS名を指定する必要があります。librefがSASUSERまたはWORKの場合、それを指定する必要があります。
ヒント | シングルユーザー環境では、LOCKステートメントを発行してライブラリを排他的にロックする必要はありません。マルチユーザー対応のSAS/SHARE Serverからアクセスするライブラリをロックする方法については、SAS/SHARE User's GuideのLOCKステートメントを参照してください。 |
ライブラリ参照名に関連付けられたSASライブラリのメンバを示す有効なSAS名を指定します。
制限事項 | ロックを要求する前に、SASファイルを作成する必要があります。存在しないSASライブラリメンバをロックする方法については、SAS/SHARE User's Guideを参照してください。 |
ロック対象とするSASファイルの種類を指定します。たとえば、有効な値にはDATA、VIEW、CATALOG、MDDBなどがあります。デフォルトではDATAに設定されます。
ロック対象のカタログエントリの名前を指定します。
ヒント | シングルユーザー環境でLOCKステートメントを発行して個別のカタログエントリをロックした場合、カタログ全体がロックされます。通常、カタログエントリを排他的にロックするためにLOCKステートメントを発行するようなことはしません。マルチユーザー対応のSAS/SHARE Serverからアクセスするライブラリ内のカタログエントリをロックする方法については、SAS/SHARE User's GuideのLOCKステートメントを参照してください。 |
ロック対象のカタログエントリの種類を指定します。
ヒント | シングルユーザー環境でLOCKステートメントを発行して個別のカタログエントリをロックした場合、カタログ全体がロックされます。通常、カタログエントリを排他的にロックするためにLOCKステートメントを発行するようなことはしません。マルチユーザー対応のSAS/SHARE Serverからアクセスするライブラリ内のカタログエントリをロックする方法については、SAS/SHARE User's GuideのLOCKステートメントを参照してください。 |
特定のSASファイルに排他的ロックを設定したかどうかをSASログに書き込みます。
ヒント | このオプションは、クライアント/サーバー環境ではさらに詳しい情報を提供します。クライアント/サーバー環境でこのオプションを使用するには、SAS/SHARE User's GuideのLOCKステートメントを参照してください。 |
SASセッションでLOCKステートメントを使用して取得した、特定のSASファイルに対するロックを解除します。
警告やエラーメッセージがSASログに出力されないように指定します。NOMSGでは、ロックが成功した、またはロックが解除された、と告げるノートを非表示にはしません。
操作 | 警告やエラーメッセージを非表示にするには、LOCKステートメントを実行する度にNOMSGを指定してください。 |
SASマクロ変数SYSLCKRCの戻り値は、NOMSGが指定されていても影響されません。 | |
ヒント | NOMSGは、ロックが利用可能になるまでLOCKステートメントをコードループでサブミットし続ける時に、排他的ロックが利用できないというエラーメッセージは毎回SASログに表示したいという場合に有効です。 |
libname mydata 'SAS-library'; lock mydata.census; 1 data mydata.census; 2 modify mydata.census; (statements to remove obsolete observations) run; 3 proc sort force data=mydata.census; 4 by CrimeRate; run; proc datasets library=mydata; 5 modify census; index create CrimeRate; quit; lock mydata.census clear; 6
1 | SASデータセットMyData.Censusに対して排他的アクセスを取得します。 |
2 | MyData.Censusを開き、オブザベーションを削除します。更新中は、現在のSASセッションにおける他の操作や、他のSASセッションで、このファイルにアクセスすることはできません。 |
3 | DATAステップの最後にファイルが閉じられます。現在のSASセッションにおいて他の操作でこのファイルにアクセスすることはできません。ただし、このファイルが再度開くまでは、別のSASセッションでアクセスできます。 |
4 | MyData.Censusを開き、ファイルを並べ替えます。並べ替え中は、現在のSASセッションにおける他の操作や、他のSASセッションで、このファイルにアクセスすることはできません。プロシジャの最後に、ファイルが閉じられます。これは、現在のSASセッションにおいて他の操作でこのファイルにアクセスすることはできませんが、別のSASセッションでのアクセスはできることを意味します。 |
5 | MyData.Censusを開き、インデックスを再構築します。現在のSASセッションにおける他の操作や、他のSASセッションで、このファイルにアクセスすることはできません。プロシジャの最後にファイルが閉じられます。 |
6 | MyData.Censusに対する排他的ロックを解除します。 |