我最近出于某些原因决定将我的一些脚本从jupyter笔记本迁移到普通的旧python脚本(.py)。在jupyter中,一切正常工作,但是相同的代码在SQL中什么也没做。我知道该过程是正确的,因为如果直接在服务器上运行它,它就能解决问题。
我的代码是:
query = 'EXEC [dbo].[kpi_init] '+kpi+';'
cursor.execute(query)
我试图像这样添加引号,但没有成功:
query = 'EXEC [dbo].[kpi_init] \''+kpi+'\';'
我尝试使用参数化查询,但没有成功:
query = 'EXEC [dbo].[kpi_init] ?;'
cursor.execute(query, [kpi])
值得一提的是,kpi是一个简单的变量,包含诸如A00或X23之类的东西,并且在那里,因为我可以将其打印出来并用于触发外部函数。这只是我的SQL代码不起作用。我错过了什么吗?
谢谢
答案 0 :(得分:1)
尝试这个:
query = f"EXEC [dbo].[kpi_init] '{kpi}'"
cursor.execute(query)