繁体   English   中英

DBT - 语法错误:应为“(”或关键字 SELECT 或关键字 WITH 但关键字 CREATE 位于

[英]DBT - Syntax error: Expected "(" or keyword SELECT or keyword WITH but got keyword CREATE at

我正在尝试在 dbt 中创建一个 sql 文件,以便使用新列更新模型

{{
    config(materialized='table'
    , retain_previous_version_flg=false
    , migrate_data_over_flg=true
)
}}

CREATE OR REPLACE TABLE {{ ref ('my_table') }} (
SELECT *, new_columns_ts TIMESTAMP
);

有没有办法直接使用 CREATE 而不必使用 SELECT 或 WITH 子句?

Syntax error: Expected "(" or keyword SELECT or keyword WITH but got keyword CREATE at [16:1]

在这种特殊情况下,您不需要使用语句 CREATE OR REPLACE TABLE 来创建物化表。 只需要写SELECT语句即可。

model语句中没有写create或replace语句。 这意味着 dbt 不提供发出可用于源表的 CREATE TABLE 语句的方法。

你可以看到这个例子

{{
    config(materialized='table'
    , retain_previous_version_flg=false
    , migrate_data_over_flg=true
)
}}


SELECT *, new_columns_ts TIMESTAMP from ‘dataset.table’

您可以使用 SQL 查看此选项

CREATE OR REPLACE TABLE dataset.table (
SELECT *, new_columns_ts TIMESTAMP from ‘dataset.table’
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM