【问题标题】:Loops and Updates in DBTDBT 中的循环和更新
【发布时间】:2022-01-14 04:59:40
【问题描述】:

我有一个非常独特的问题。我想使用另一个 dbt 更新 dbt 中的表,并有一个寻找新值的计数器,然后它更新列。例如。

SET NOCOUNT ON;


DECLARE @R INT;

SET @R = 2;

WHILE @R<10

BEGIN

    UPDATE PER 

        SET PER.CDS_ID = PERNext.CDS_ID

    FROM #P PER

    INNER JOIN #E PERNext ON (PER.web_prfl_id = PERNext.web_prfl_id AND RN = @R)

    WHERE PER.CDS_ID IS NULL AND PERNext.CDS_ID IS NOT NULL

SET @R = @R+1

END

RN 是 E 表中可用的行号,按创建日期划分。 我知道我们可以在 post hook 中做更新语句,但是如何有一个计数器然后进行更新? 谢谢,

【问题讨论】:

  • 1) 您的意思是“dbt 中的表使用另一个 ~~dbt~~ 表”吗? 2)您能否提供两个小样本表以及您希望最终结果是什么? 3) 你读过Jinja & marcos dbt docs page 了吗?

标签: dbt


【解决方案1】:

我的理解是,无论工作是什么,您都试图在 dbt 中执行 UPDATE 语句。

所以您可以尝试 2 个选项:

  1. 使用增量模式。阅读this

  2. 使用dbt marco 会更容易 - 它与过程相同,但在 dbt 中。阅读this

【讨论】:

    猜你喜欢
    • 2022-11-25
    • 2021-11-01
    • 1970-01-01
    • 2020-11-17
    • 2018-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    相关资源
    最近更新 更多