DATASETS プロシジャ
REBUILD ステートメント
無効化されたインデックスと一貫性制約を元に戻す、または削除するかどうかを指定します。
| デフォルト: | インデックスと一貫性制約の再作成 |
|---|---|
| 制限事項: | REBUILDステートメントが適用されるのは、バージョン7以降で作成されたデータセットのみです |
構文
<ALTER=password> <GENNUM=n> <MEMTYPE=member-type> <NOINDEX>>;
必須引数
SAS-file
無効化されたインデックスと一貫性制約を含むSASデータファイルを指定します。番号範囲リストまたはコロンリストを使用することもできます。
| 参照項目: | データセット名リスト (SASプログラマガイド: エッセンシャル). |
|---|
オプション引数
ENCRYPTKEY=key-value
AES暗号化のキー値を指定します。
| 要件 | ENCRYPTKEY=データセットオプションは、データファイルにAES暗号化がある場合は必須です。 |
|---|
ALTER=alter-password
REBUILDステートメントで指定される変更保護されたSASファイルに対する変更パスワードを与えます。このオプションは各SASファイル名の後にかっこで囲んで指定することも、スラッシュの後に指定することもできます。
GENNUM=integer
世代データセットの処理を制限します。このオプションは各SASファイル名の後にかっこで囲んで指定することも、スラッシュの後に指定することもできます。有効な値はintegerです。これは、世代グループの特定バージョンを参照する数字です。正の数を指定すると、データセット名に追加される特定の世代番号の絶対参照になります(つまり、gennum=2はMYDATA#002を指定することになります)。負の数を指定すると、最新から最古への基本バージョンに相対する履歴バージョンの相対参照になります(つまり、gennum=-1は最新の履歴バージョンを参照します)。デフォルトの0を指定すると、基本バージョンが参照されます。
MEMTYPE=member-type
処理を1つのメンバーの種類に制限します。
| 別名 | MTYPE= |
|---|---|
| MT= | |
| デフォルト | PROC DATASETSステートメントまたはREBUILDステートメントでMEMTYPE=オプションを指定しない場合、デフォルトはMEMTYPE=ALLとなります。 |
NOINDEX
無効化されたインデックスと一貫性制約の削除を指定します。
| 制限事項 | NOINDEXオプションは、参照一貫性制約を1つ以上含むデータファイルに使用できません。 |
|---|
詳細
DLDMGACTION=NOINDEXデータセットまたはシステムオプションが指定され、損傷したデータファイルが見つかると、次の項目が実行されます。
- インデックスと一貫性制約を含まないデータファイルの修復
- インデックスファイルの削除
- 無効化されたインデックスと一貫性制約を反映するためのデータファイルの更新
- INPUTモードでのみ開くデータファイルの制限
- 次の警告のSASログへの書き込み
WARNING: SAS data file MYLIB.MYFILE.DATA was damaged and has been partially repaired. To complete the repair, execute the DATASETS procedure REBUILD statement.
REBUILDステートメントは、すべてのデータファイルの無効化されたインデックスと一貫性制約を再作成または削除することにより、損傷したSASデータファイルの修復を完了します。REBUILDステートメントは、新しいインデックスファイルを処理し、インデックスと一貫性制約を復元するために、メンバーレベルロックを作成し、使用します。
インデックスファイルを再作成し、インデックスと一貫性制約を復元するには、次のコードを使用します。
proc datasets library=mylib;
rebuild myfile
/alter=password
gennum=n
memtype=mytype;
無効化されたインデックスと一貫性制約を削除するには、次のコードを使用します。
proc datasets library=mylib;
rebuild myfile /noindex;
REBUILDステートメントを実行すると、データファイルはINPUTモードに制限されなくなります。
REBUILDステートメントのデフォルトは、インデックス、一貫性制約、インデックスファイルを再作成することです。
データファイルに1つ以上の参照一貫性制約が含まれ、NOINDEXオプションをREBUILDステートメントで使用する場合、次のエラーメッセージがSASログに書き込まれます。
Error: Unable to rebuild data file MYLIB.MYFILE.DATA using the
NOINDEX option because the data file contains referential
constraints. Resubmit the REBUILD statement without the
NOINDEX option to restore the data file.