关于“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])
..
显然是不行的,或者是我理解的不对
展开
 我来答
赢西已苦子真1x
2014-04-15 · TA获得超过754个赞
知道小有建树答主
回答量:334
采纳率:77%
帮助的人:299万
展开全部
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)元组来传入。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式