Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 在python中调用存储过程时,如何从存储过程中获取输出_Python 3.x_Oracle12c_Cx Oracle - Fatal编程技术网

Python 3.x 在python中调用存储过程时,如何从存储过程中获取输出

Python 3.x 在python中调用存储过程时,如何从存储过程中获取输出,python-3.x,oracle12c,cx-oracle,Python 3.x,Oracle12c,Cx Oracle,我已经编写了一个存储过程来删除表中的记录。我正在python中使用游标调用该过程。即使我使用了dbms\u output.put\u行,我也无法获得输出 connection = dbconnect() c = connection.cursor() c.callproc('DELETE_ds',[id]) print (c.fetchall()) c.close() connection.commit() connection.close()

我已经编写了一个存储过程来删除表中的记录。我正在python中使用游标调用该过程。即使我使用了dbms\u output.put\u行,我也无法获得输出

connection = dbconnect()
    c = connection.cursor()
    c.callproc('DELETE_ds',[id])
    print (c.fetchall())
    c.close()
    connection.commit()
    connection.close()
存储过程:
我在过程中使用delete语句之后的dbms output,但它没有写入任何输出。因此,如果我想获取已删除、更新或插入的id,我如何从oracle获取它。

这可能取决于您的驱动程序,您使用哪个驱动程序连接到db,另外,您使用的是哪种类型的数据库在调用该过程之前是否发出了
set serveroutput on
。@BarbarosÖzhan是。
dbms_output.put_line
在dbms端内部工作,但您似乎从python端(通过控制台或子例程)调用该过程。
CREATE OR REPLACE PROCEDURE DELETE_DATASET(DATASET_ID NUMBER,DATASET_ID OUT NUMBER)
IS
BEGIN
  DELETE FROM DATA_SET where DATA_SET_ID = DATASET_ID;
COMMIT;
END;
/