SAS Enterprise Guide在Query Builder中读取未提交的内容

时间:2018-05-01 16:23:06

标签: sas enterprise-guide

我试图找出一种方法来在查询构建器运行查询之前将隔离级别更改为读取未提交的(RU),因为我有时需要从操作表中获取数据。

有没有办法在SAS Enterprise Guide中执行此操作?我知道在选项菜单中,有一个地方可以在任务和查询代码之前运行自定义代码,但我不知道在这里输入什么来实现这一点。

谢谢!

2 个答案:

答案 0 :(得分:2)

答案 - 这取决于。强制执行未提交读取的部分在libname定义中配置。如果您的libname是在元数据中定义的,那么不 - 您不能在EG中执行(至少不使用向导),您需要SMC或DI studio中的库管理器。

如果以编程方式定义了libname,则语法取决于您使用的数据库的风格。对于SQL Server,您需要添加以下选项:Read_Isolation_Level=RU

请注意,这可能意味着您阅读了“脏数据”(请参阅​​此社区thread)。

答案 1 :(得分:0)

在定义库的自动加载程序中;您只需要知道要查询的SQL库的名称。然后执行以下步骤:

  1. 在您的EG项目中:创建一个新程序:File / new / Program,这将为您的流程添加一个新程序。
  2. 如果SQL库的libname名为“SQL”,而您要查询的表是“ORDERS”;使用与MS-SQL非常相似的PROC SQL,然后单击run或F8。

    proc sql; select id, sum(sales) as total_sales from SQL.ORDERS group by id ; quit;

  3. 示例

    第1步:

    step 1

    第2步: Step 2

    New Program

    Run