We execute one sql with cursor and extract variable to set some variables in snowflake. How to do it efficiently in dbt? Can I set values of variables from the results of a model?
<code>def func() -> None:
cursor = connection.cursor()
query = query_builder.prepare("""
SELECT
1 AS FIRST_VALUE,
2 AS SECOND_VALUE
FROM
my_table""")
cursor.execute(query)
if cursor.rowcount > 0:
rows = cursor.fetchone()
if rows[0] is not None:
variable.set("var1", rows[0])
else:
variable.set("var1", 0)
if rows[1] is not None:
variable.set("var2", rows[1])
else:
variable.set("var2", 0)
else:
variable.set("var1", 0)
variable.set("var2", 0)
</code>
<code>def func() -> None:
cursor = connection.cursor()
query = query_builder.prepare("""
SELECT
1 AS FIRST_VALUE,
2 AS SECOND_VALUE
FROM
my_table""")
cursor.execute(query)
if cursor.rowcount > 0:
rows = cursor.fetchone()
if rows[0] is not None:
variable.set("var1", rows[0])
else:
variable.set("var1", 0)
if rows[1] is not None:
variable.set("var2", rows[1])
else:
variable.set("var2", 0)
else:
variable.set("var1", 0)
variable.set("var2", 0)
</code>
def func() -> None:
cursor = connection.cursor()
query = query_builder.prepare("""
SELECT
1 AS FIRST_VALUE,
2 AS SECOND_VALUE
FROM
my_table""")
cursor.execute(query)
if cursor.rowcount > 0:
rows = cursor.fetchone()
if rows[0] is not None:
variable.set("var1", rows[0])
else:
variable.set("var1", 0)
if rows[1] is not None:
variable.set("var2", rows[1])
else:
variable.set("var2", 0)
else:
variable.set("var1", 0)
variable.set("var2", 0)