【发布时间】:2022-01-22 05:51:17
【问题描述】:
我已将 CSV 文件加载到暂存区。现在我想将此文件转移到临时表。为此,我创建了 3 个不同的模式,即 STG(用于暂存区域)、TMP(用于临时区域)和 TGT(用于目标区域或数据仓库)。这是 STG 架构上的临时表。
GRANT USAGE ON SCHEMA PRASHANT_DWH.STG TO ROLE ACCOUNTADMIN;
CREATE OR REPLACE TABLE PRASHANT_DWH_STG_COUNTRY (
ID NUMBER(38,0) NOT NULL,
COUNTRY_DESC VARCHAR(256)
);
这是 TMP 架构上的临时表。我添加了更多约束,例如维护列和代理键。
GRANT USAGE ON SCHEMA PRASHANT_DWH.TMP TO ROLE ACCOUNTADMIN;
CREATE OR REPLACE TABLE PRASHANT_DWH_TMP_COUNTRY (
ID NUMBER(38,0) NOT NULL,
COUNTRY_DESC VARCHAR(256),
RCD_INS_TS TIMESTAMP, -- aaja ko date
RCD_UPD_TS TIMESTAMP, -- aaja ko date, if updated then only updated date
RCD_START_DI DATE, -- system date
RCD_CLOSE_DI DATE, -- future date
RCD_CLOSE_FLG VARCHAR(1),
ID_SUR_KEY NUMBER NOT NULL, -- autogenerated, else key + 1,
PRIMARY KEY (ID_SUR_KEY)
);
我尝试合并这两个表并插入维护列代理键。但它一直显示错误
MERGE TMP.PRASHANT_DWH_TMP_COUNTRY AS TC
USING STG.PRASHANT_DWH_STG_COUNTRY AS SC
ON PDTC.ID = PDSC.ID
WHEN MATCHED THEN
UPDATE PDTC.ID_SUR_KEY = PDSC.ID + 1
INSERT (ID, COUNTRY_DESC,RCD_INS_TS,RCD_UPD_TS,RCD_START_DI,RCD_CLOSE_DI,RCD_CLOSE_FLG,ID_SUR_KEY)
VALUES (SC.ID,SC.COUNTRY_DESC,current_timestamp,current_timestamp,current_date,current_date,N,SC.ID + 1)
WHEN NOT MATCHEN BY TARGET THEN
DELETE
给出错误:
SQL compilation error:
syntax error line 1 at position 6 unexpected 'TMP'.
syntax error line 5 at position 15 unexpected 'PDTC'.
syntax error line 6 at position 8 unexpected 'INSERT'.
syntax error line 6 at position 32 unexpected ','.
syntax error line 6 at position 43 unexpected ','.
syntax error line 6 at position 54 unexpected ','.
syntax error line 6 at position 67 unexpected ','.
syntax error line 6 at position 80 unexpected ','.
syntax error line 6 at position 94 unexpected ','.
syntax error line 6 at position 105 unexpected ')'.
syntax error line 7 at position 37 unexpected ','.
syntax error line 7 at position 55 unexpected ','.
syntax error line 7 at position 73 unexpected ','.
syntax error line 7 at position 86 unexpected ','.
syntax error line 7 at position 99 unexpected ','.
syntax error line 7 at position 101 unexpected ','.
syntax error line 7 at position 108 unexpected '+'.
syntax error line 7 at position 111 unexpected ')'.
【问题讨论】:
标签: snowflake-cloud-data-platform etl snowflake-schema