簡體   English   中英

Databricks 將 Python 參數多次傳遞到循環的 SQL 腳本中

[英]Databricks pass Python parameters into a looped SQL script multiple times

我正在嘗試創建一個包含多個變量的 python 列表,然后這些變量將用作 for 循環中的值,該循環通過創建多個表的 sql 查詢進行循環,但我似乎找不到一個顯示多個使用的參數的示例次。

list = ["a","b","c"]
for x in list:
sql = ''' 
create volatile table test_{} as (
select * from database.tablename_{}
) with data on commit preserve rows;

create volatile table test2_{} as (
select * from database.tablename2_{}
) with data on commit preserve rows;
'''
display(sql)

您可以使用所謂的f 字符串(自 Python 3.6 起)將相同的變量插入多個位置:

list = ["a","b","c"]
for x in list:
    sql = f'''
create volatile table test_{x} as (
select * from database.tablename_{x}
) with data on commit preserve rows;

create volatile table test2_{x} as (
select * from database.tablename2_{x}
) with data on commit preserve rows;
'''
    print(sql)

或者您可以使用帶編號占位符的format

list = ["a","b","c"]
for x in list:
    sql = '''
create volatile table test_{0} as (
select * from database.tablename_{0}
) with data on commit preserve rows;

create volatile table test2_{0} as (
select * from database.tablename2_{0}
) with data on commit preserve rows;
'''.format(x)
    print(sql)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM