注册

dmpython如何将变量传入sql语句

huishun 2023/03/28 1064 2 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:

1.直接在sql_base 接入不带变量的sql, 执行该条sql,没问题
sql_base='''select cache_item, sqlstr from v$cachepln where sqlstr like '%myTestTable%'
'''

cursor = conn.cursor()
try:
cursor.execute(sql_base)
except Exception as e:
print(' dm_cursor.execute(...) Error: ', e)
values = cursor.fetchall()
for c1 in values:
##打印非L的数字类型
print ("######cache_item: ")
print (int(c1[0]))
##打印原组的字符串,换行
print (c1[1])

cursor.close()

2.直接在sql_base 接入带变量的sql, 执行该条sql,报错

sql_text = raw_input("choose a table in sql_text 😊

cursor = conn.cursor()
try:
cursor.execute('select cache_item, sqlstr from v$cachepln where sqlstr like '%(?)%'', sql_text)
except Exception as e:
print(' dm_cursor.execute(...) Error: ', e)
values = cursor.fetchall()
for c1 in values:
# print int(c1[0]), c1[1]
##打印非L的数字类型
print ("######cache_item: ")
print (int(c1[0]))
##打印原组的字符串,换行
print (c1[1])
# print (int(c1[0]))

  # print(c1)

cursor.close()

报错为
values = cursor.fetchall()
dmPython.InterfaceError: not a query

请问,应该如何处理

回答 0
暂无回答
扫一扫
联系客服