我的要求是使用python执行存储在多个.sql文件中的PL/SQL代码。
我的假设是"curs.execute(sql_command)“可以工作,但问题是我还必须将输入参数传递给该过程。
请让我知道如何使用python执行存储在.sql文件中的存储过程,而且所有的存储过程都存储在单独的文件中,即每个文件只包含一个存储过程。
发布于 2019-11-21 07:50:46
如果每个存储过程都存储在单独的.sql文件中,则非常简单:
sql = open(fileName).read()
connection = cx_Oracle.connect("user/password@dsn")
cursor = connection.cursor()
cursor.execute(sql)但是,请注意,如果存储在文件中的SQL包含尾随斜杠(/),则需要首先删除该斜杠。同样,如果存储在文件中的SQL不是存储过程,而是create table语句,则需要去掉尾随的分号(;)。
如果您需要调用存储过程,可以执行以下操作:
cursor.callproc("TheProcedureName", (arg1, arg2, arg3))https://stackoverflow.com/questions/58954091
复制相似问题