my_macro.sql
{macro my_macro(value)}
{% set query %}
select A from value
{{ return(query) }}
{% endset %}
{% endmacro %}
模型.sql
select * from B
where A in ({{ my_macro(value) }}
当我编译代码时 我得到的结果是
输出:
select * from B
Where A in ( )
我没有将 sql 语句作为宏的输出
我知道我们可以执行查询并获取结果,我们可以将查询作为字符串传递吗?
这在 DBT 中真的可能吗?.
你差不多明白了。只需三件事:
{% endset %}
value
于{{ value }}
source()
或 ref()
{macro my_macro(value)}
{% set query %}
select A from {{ value }}
{% endset %}
{{ return(query) }}
{% endmacro %}