为了账号安全,请及时绑定邮箱和手机立即绑定

Teradata Python Macro Variable

Teradata Python Macro Variable

蝴蝶不菲 2022-08-02 11:01:53
我已经开始使用python使用PyTd从Teradata中提取查询。来自SAS,我想知道是否有一种方法可以传递类似于SAS宏变量的参数/变量。我们公司对每个州都有不同的数据库,我在其中运行相同的查询,但每次都需要更新状态。下面的例子是,我想用{macroVariable}代替每个状态,循环遍历并运行一个新查询,然后我会修补所有查询。我找到了一些使用for循环的例子,但无法完全让它以我需要的方式工作。import teradata as tdimport pandas as pdfrom teradata import tdodbcudaExec = 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)
查看完整描述

1 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

我没有使用PYTD,但我使用sql alchemy,这种类型的编码对我有用。让我用一个例子来展示给你看。


import sqlalchemy as sa

import pandas as pd


td_engine = '%s://%s:%s@%s/%s'%(td_driver, username, password, td_host,dbname)

td_conn = sa.create_engine(td_engine)


x = '202012' # your variable (similar to SAS macro variable) that you define outside of teradata envrionment


td_sql = ''' select top 10* from customer_{}'''.format(x)

df = pd.read_sql(td_sql, td_conn)


查看完整回答
反对 回复 2022-08-02
  • 1 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信