如何在游标中传递多个值作为参数.HANA Python连接器的执行方法



我正在使用HANA Python连接器的Cursor.execute(sql,hanaparams)方法,该方法的参数是sql语句和hanaparams。我的查询是这样的。

SELECT * FROM TABLE where COLUMN1 IN(?)"和我的参数是VALUE1,VALUE2;像列表/元组;

我无法检索结果集,而当我在HANA中运行此查询和输入参数硬编码时,它运行得非常好

我遵循这个教程https://developers.sap.com/tutorials/hana-clients-python.html

如何在参数中传递多个值

像这样简单的东西似乎工作得很好。?的个数必须等于你所拥有的参数的个数。在您的情况下,它只需要VALUE1

from hdbcli import dbapi
conn = dbapi.connect(
key='HDBKEY'
)
cursor = conn.cursor()
parameters = [11, "2020-12-24"]
params = '?,'*len(parameters)
params2 = params[0:-1]
sql_command2 = f"SELECT {params2} FROM DUMMY;"
cursor.execute(sql_command2, parameters)
rows = cursor.fetchall()
for row in rows:
for col in row:
print ("%s" % col, end=" ")
print (" ")
cursor.close()
conn.close()

所以不是SELECT * FROM TABLE WHERE COLUMN1 IN(?)而是SELECT * FROM TABLE WHERE COLUMN1 IN(?, ?)

相关内容

  • 没有找到相关文章

最新更新