如何在SAS程序中将sas数据表(sas7bdat
)设置为只读? - 即使在会话之间,表也必须保持只读,特别是如果另一个用户注册库并尝试写入数据集。一旦创建了这些表,我就不希望编辑它们 - 它们是其他人和我自己可能依赖的“时间点”参考表。能够锁定表并保证表没有被意外更改将在每次使用这些表时节省大量数据验证。
我希望仅保护可能会意外更改表格的危险代码,例如:
PROC SORT
DATA = JUSTIN.myreadonlytable;
BY
ref
start_date;
RUN;
我不介意是否有人可以更改文件系统中的只读标志,但我希望SAS中的默认行为是在尝试写入表时出错。
答案 0 :(得分:4)
如果您想阻止人们意外地写入数据集,那么您需要分配alter
密码。
data test(alter="def");
set sashelp.class;
run;
这样可以防止更改(写入,替换,删除)数据集,而无需以相同方式提供密码(或在弹出窗口中键入密码)。
答案 1 :(得分:2)
在libname上添加ACCESS = READONLY是一个选项。详情如下:
http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000214133.htm