我已经构建了下面的代码,用于从元数据中获取 SAS 注册表的列表。它工作正常,但由于大量的 WorkTables(PhysicalTable 的子类型)需要很长时间才能运行:
data work.tables (keep=uri name);
length uri name $256;
n=1;
do while(metadata_getnobj("omsobj:PhysicalTable?@Id contains '.'",n,uri)>=0);
n+1;
if substr(uri,8,9)='WorkTable' then continue;
if metadata_getattr(uri, "SASTableName", name)=0 then output;
end;
run;
有什么方法可以调整 uri,以便可以在元数据查询本身中排除 WorkTable 类型?
例如如下(不起作用):
omsobj:PhysicalTable?@Id contains '.' and @MetadataType ne 'WorkTable'