【发布时间】:2020-05-31 23:41:18
【问题描述】:
我已经开始使用 python 通过 PyTd 从 Teradata 中提取查询。来自 SAS,我想知道是否有一种方法可以传递类似于 SAS 宏变量的参数/变量。我们公司对每个州都有不同的数据库,我在其中运行相同的查询,但每次都需要更新状态。下面的示例我想用 {macroVariable} 替换每个状态,循环并运行一个新查询,然后我会修改所有查询。我找到了一些使用 for 循环的示例,但无法完全按照我需要的方式工作。
import teradata as td
import pandas as pd
from teradata import tdodbc
udaExec = td.UdaExec(appConfigFile="udaexec.ini")
with udaExec.connect("${dataSourceName}") as session:
query1 = """{macroVariable}_db_1;"""
query2 = """select * from table"""
session.execute(query1)
session.execute(query2)
df = pd.read_sql(query2, session)
【问题讨论】: