如何在SAS程序中使SAS数据集只读?
如何在sas程序中将sas数据表(如何在SAS程序中使SAS数据集只读?,sas,Sas,如何在sas程序中将sas数据表(sas7bdat)设置为只读即使在会话之间,该表也必须保持只读,特别是当其他用户注册库并尝试写入数据集时。一旦创建了这些表,我就不想再编辑它们了——它们是其他人和我自己可能依赖的“时间点”参考表。如果能够锁定这些表并保证它们没有被意外更改,那么每次使用这些表时都可以节省大量的数据验证 我只希望防止可能意外改变表格的危险代码,例如: PROC SORT DATA = JUSTIN.myreadonlytable; BY ref
sas7bdat
)设置为只读即使在会话之间,该表也必须保持只读,特别是当其他用户注册库并尝试写入数据集时。一旦创建了这些表,我就不想再编辑它们了——它们是其他人和我自己可能依赖的“时间点”参考表。如果能够锁定这些表并保证它们没有被意外更改,那么每次使用这些表时都可以节省大量的数据验证
我只希望防止可能意外改变表格的危险代码,例如:
PROC SORT
DATA = JUSTIN.myreadonlytable;
BY
ref
start_date;
RUN;
我不介意是否有人可以更改文件系统中的只读标志,但我希望SAS中的默认行为是在尝试写入表时出错。libname上的Add ACCESS=READONLY是一个选项。详情如下:
如果要防止人们意外写入数据集,则需要分配
alter
密码
data test(alter="def");
set sashelp.class;
run;
防止在不以相同方式提供密码(或在弹出窗口中键入密码)的情况下更改(写入、替换、删除)数据集.如果其他人在会话中没有
ACCESS=READONLY
命令注册库,这似乎不起作用。我认为您的问题可能不完全清楚。注意PWREQ=
选项控制对话框的显示或不显示,但似乎适用于以后的使用,不是最初的创建。为了让你的问题更清楚,你可以更改最初的句子,以明确你所说的是创建一个别人不会修改的数据集,而不是如何更改自己的程序以不修改数据集。我现在已经澄清了这一点。我将尝试密码解决方案