检查U-SQL中创建的数据库中是否存在表

时间:2017-10-24 09:36:24

标签: azure-data-lake u-sql

我试图在U-SQL中检查表是否存在于数据库中。目前语法是

DROP TABLE IF EXISTS Logs;
CREATE TABLE Logs (
    date DateTime, 
    eventType int, 
    eventTime DateTime, 
    INDEX Index_EventType CLUSTERED (eventType ASC) 
    DISTRIBUTED BY HASH(eventType) INTO 3);

在这个例子中,我只想检查当前数据库中是否存在表,如果表存在,我不想删除该表。

基本上我想在Table的U-SQL脚本中添加if..else语句。如下所示:

IF NOT EXISTS Logs
{
 //Create table here   
}
else
{
 //Update table scripts
}

如何在U-SQL脚本中使用此特定条件?

2 个答案:

答案 0 :(得分:1)

是否可以在http://aka.ms/adlfeedback为TABLE.EXISTS提交功能请求?

作为一种解决方法,您可以创建一个仅包含单个分区的虚假分区表,或者使用评论中指定的任何解决方法来解答她的答案。

答案 1 :(得分:0)

您可以在IF NOT EXISTS语句中指定CREATE来实现此类行为:

CREATE TABLE IF NOT EXISTS Logs (
    date DateTime, 
    eventType int, 
    eventTime DateTime, 
INDEX Index_EventType CLUSTERED (eventType ASC) 
DISTRIBUTED BY HASH(eventType) INTO 3);