在 proc sql 视图中,可以按照以下语法使用临时库定义:
libname viewlib 'SAS-data-library';
proc sql;
create view viewlib.emp_view as
select *
from mydblib.employees
using libname mydblib oracle user=smith password=secret
path='myoraclepath';
quit;
这种方法的一个有用的优点是它允许 SAS/Access 凭据(例如密码等)保持隐藏,并且也不会与现有的库定义冲突(例如,如果用户已经有一个 'mydblib' libref,这不会替换该定义)。
但是,在某些条件下 SQL 视图是不合适的 - 例如尝试限制自动 SQL 传递或在文本文件上创建视图时。
那么我的问题是 -使用临时 libref(例如上面的 SQL 视图示例)创建数据步骤视图的最佳方法是什么?libref 不应与现有的 libref 冲突,不应在用户会话中持续存在,并且不应允许密码等可见。