检查HiveQL中是否存在表(通过SAS)并执行操作

时间:2017-06-13 14:10:23

标签: hive sas

我试图通过仅在表存在时执行操作来使我的代码更具动态性。我知道一个事实,即在丢桌时,如果存在,'声明有效。

proc sql  NOERRORSTOP;
connect to hadoop (Server=&HDP_Server. port = &port.);
execute(create table SCHEMA1.APPENDED_DATASET as
    select * from 
    (select * from SCHEMA1.XYZ UNION ALL 
    select * from SCHEMA1.ABC
    ) unionresult
)
by hadoop;
quit;

当我创建表的备份或附加时,我想要类似的东西。当我的表XYZ不存在时,以下两个语句都会出错。

附加查询(如果XYZ不存在,我只需要附加ABC):

proc sql  NOERRORSTOP;
connect to hadoop (Server=&HDP_Server. port = &port.);
execute(create table SCHEMA1.XYZ_BACKUP as
    select * from SCHEMA1.XYZ

)
by hadoop;
quit;

备份查询(如果XYZ不存在,我不希望创建备份文件):

PowerShell

有没有办法可以选择*如果存在于XYZ表中,那么我不会遇到错误?

谢谢!

0 个答案:

没有答案
相关问题