SAS 未正确更新

SAS is not properly updating

提问人:Berit Larsen 提问时间:11/15/2023 更新时间:11/22/2023 访问量:41

问:

我有一个 SAS 脚本,用于从视图复制数据并将其保存到表中。这包括一个列,该列提供了上次运行视图的日期(current_date AS sist_oppdatert)。

我预计每当运行 SAS 脚本时,它都会从视图中获取新数据 - 今天作为“sist_oppdatert”列中的日期。

情况似乎并非如此,因为“sist_oppdatert”列没有更新。它显示了一个旧的日期,然后我认为我得到的数据也已经过时了(还没有找到验证的方法)。 如果我直接在 Teradata 中手动运行相同的 SQL 代码,那么一切正常。不是来自SAS,甚至没有任何形式的错误。我需要这自动发生。

那么,我怎样才能确保表格每天更新,使用正确的数据和日期呢?

SAS 脚本:

proc sql;
connect to teradata 
(user="&user_id_td." password=&pwd. mode=teradata server=gjprodaz connection=global);
execute (
      delete from NL.KUB_2_kundedata_tbl
)
by teradata;
quit;

proc sql;
connect to teradata 
(user="&user_id_td." password=&pwd. mode=teradata server=gjprodaz connection=global);
execute (
    insert into NL.KUB_2_kundedata_tbl
    select distinct * from NL.KUB_2_kundedata
    ;
)
by teradata;
quit;
SQL SAS Teradata

评论

0赞 Andrew 11/15/2023
不相关,但从您的选择中删除不同的内容,这需要毫无意义的处理。至于你的问题,你实际上是在从源头选择一切。也许SAS脚本没有在正确的时间(在源更新之前)运行,或者它根本没有运行,类似于这些。
1赞 Quentin 11/15/2023
这很奇怪。使用此方法,SAS 不会做太多工作,只需将代码发送到 teradata 执行即可。因此,如果它在 Teradata 中有效,它应该在这里有效。如果您只运行第一步,您是否确认它有效?(即成功连接到Teradata并从表中删除所有记录)
1赞 Reeza 11/16/2023
问题似乎出在视图的定义上,而不是这一步上。您能否确认视图是否按预期在 teradata 上工作,或者共享视图代码以确认其正确性。
0赞 Reeza 11/16/2023
在 Oracle 中,我们有时需要提交提交以刷新更新。不确定 Teradata 是否需要类似的命令。

答:

0赞 Berit Larsen 11/22/2023 #1

过了一会儿,我意识到我没有任何证据证明日程安排是有效的。 然后我注意到该脚本是通过不同的用户运行的。 我尝试与该用户一起运行脚本,然后它失败了,并显示“没有更多的后台空间”。

因此,整个问题是计划用户中的属性,与手动用户不同。