关于“cx_oracle调用存储过程,入参为自定义对象”的补充
问题中CREATEORREPLACETYPE“TBL_MY_OBJECT"ASTABLEOFMY_TYPE应为TABLEOFMY_OBJECT,我是用python写的,引...
问题中CREATE OR REPLACE TYPE “TBL_MY_OBJECT" AS TABLE OF MY_TYPE应为TABLE OF MY_OBJECT,我是用python写的,引用了cx_oracle的库,需要调用存储过程INIT_MY_TYPE,方法如下:
#调用cx_oracle方法连接数据库
PO_RESULT=cur.var(cx_oracle.NUMBER)
cur.callproc(‘INIT_MY_TYPE’,[??,PO_RESULT])..
如上描述,??部分正是我不知道怎么传的地方,像你所说的定义一个类似的变量,如:
#调用cx_oracle方法连接数据库
rec_data TBL_MY_OBJECT;
rec_data.id=1
rec_data.name='abc'
PO_RESULT=cur.var(cx_oracle.NUMBER)
cur.callproc(‘INIT_MY_TYPE’,[rec_data,PO_RESULT])
..
显然是不行的,或者是我理解的不对 展开
#调用cx_oracle方法连接数据库
PO_RESULT=cur.var(cx_oracle.NUMBER)
cur.callproc(‘INIT_MY_TYPE’,[??,PO_RESULT])..
如上描述,??部分正是我不知道怎么传的地方,像你所说的定义一个类似的变量,如:
#调用cx_oracle方法连接数据库
rec_data TBL_MY_OBJECT;
rec_data.id=1
rec_data.name='abc'
PO_RESULT=cur.var(cx_oracle.NUMBER)
cur.callproc(‘INIT_MY_TYPE’,[rec_data,PO_RESULT])
..
显然是不行的,或者是我理解的不对 展开
1个回答
展开全部
sql = "exec PRC_ADD_SB '%s','%s';" % (sbid,sbname)
#或者call PRC_ADD_SB '%s','%s';" % (sbid,sbname)
cur.execute(sql)
conn.commit()
追问
这个是对问题的补充追问,因为追问字数有限制,只好这么做了,原问题地址http://zhidao.baidu.com/question/616110874866061932.html?quesup2&oldq=1
麻烦您给看下
追答
看了你发的链接,你的输入参数1是自定义类型,py的执行语句中把参数1用一个(id,name)元组来传入。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询