如何在sparksql/databricks中使用if-else执行一组sql语句

mu0hgdu0  于 2021-05-29  发布在  Spark
关注(0)|答案(0)|浏览(760)

我在databricks中执行以下代码时出错

%sql
if((select column from database.temp_Table)<= 0)
   BEGIN
        DROP TABLE IF EXISTS database.Table1;
        CREATE TABLE database.Table1(column1 datatype,column2 datatype......columnN datatype) USING 
       DELTA;
        SELECT * INTO database.Table1 FROM database.Table3;
   END
ELSE
   BEGIN
        DROP TABLE IF EXISTS database.Table2;
        CREATE TABLE database.Table2(column1 datatype,column2 datatype......columnN datatype) USING 
         DELTA;
        SELECT * INTO database.Table2 FROM database.Table3;
   END

下面是我面临的错误。

extraneous input 'if' expecting {'(', 'SELECT', 'FROM', 'ADD', 'DESC', 'WITH', 'VALUES', 'CREATE', 'TABLE', 'INSERT', 'DELETE', 'DESCRIBE', 'EXPLAIN', 'SHOW', 'USE', 'DROP', 'ALTER', 'MAP', 'SET', 'RESET', 'START', 'COMMIT', 'ROLLBACK', 'MERGE', 'UPDATE', 'CONVERT', 'REDUCE', 'REFRESH', 'CLEAR', 'CACHE', 'UNCACHE', 'DFS', 'TRUNCATE', 'ANALYZE', 'LIST', 'REVOKE', 'GRANT', 'LOCK', 'UNLOCK', 'MSCK', 'EXPORT', 'IMPORT', 'LOAD', 'OPTIMIZE', 'COPY'}(line 1, pos 0)

== SQL ==
if((select column from database.temp_Table)<= 0)
^^^
   BEGIN
        DROP TABLE IF EXISTS**

请帮助我在databricks sparksql中实现if else来执行一组sql语句,而不是返回值。谢谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题