簡體   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