你好,我有麻煩下麵執行給定的SQL語句。
合並到倉庫。使用(SELECT * pdr_debit_card作為目標(選擇CIF、CARD_TYPE ISSUE_DATE, MATURITY_DATE,噓,DATA_DATE, row_number() /(分區CIF、CARD_TYPE ISSUE_DATE, MATURITY_DATE,噓,DATA_DATE按CIF)分期排名。pdr_debit_card)的年代。源對目標等級= 1)。CIF =來源。CIF和目標。CARD_TYPE =來源。CARD_TYPE和目標。ISSUE_DATE =來源。ISSUE_DATE和目標。MATURITY_DATE =來源。MATURITY_DATE和目標。DATA_DATE =來源。DATA_DATE和目標。BOO =來源。BOO WHEN MATCHED THEN UPDATE SET STATUS = 'active' WHEN NOT MATCHED BY TARGET THEN INSERT ( CIF, CARD_TYPE, ISSUE_DATE, MATURITY_DATE, DATA_DATE, BOO, STATUS ) VALUES ( cast(SOURCE.CIF as string), cast(SOURCE.CARD_TYPE as string), to_date(SOURCE.ISSUE_DATE, 'yyyy-MM-dd'), to_date(SOURCE.MATURITY_DATE, 'yyyy-MM-dd'), to_date(SOURCE.DATA_DATE, 'yyyyMMdd'), cast(SOURCE.BOO as string), 'active' ) WHEN NOT MATCHED BY SOURCE AND STATUS = 'active' THEN UPDATE SET STATUS = 'inactive';
異常發生,
拋出ParseException (PARSE_SYNTAX_ERROR):語法錯誤達到或接近“通過”(pos行26日17)當不匹配源和狀態=“活躍”然後- - - - - - - - - - - - - - - - - - ^ ^ ^更新設置狀態=“不活躍”
我的工作運行在DBR 11.2毫升,火花3.3.0,Scala 2.12。
基於文檔,這個語法應用在我的語句嗎?
這個查詢也可以三角洲API工作嗎?
謝謝