cx_Oracleを使用してOracleでユーザー定義型を操作する方が簡単な方はいらっしゃいますか?例えばcx_Oracleとユーザー定義型
、私はこれらの2つのタイプがある場合は、次のように
CREATE type my_type as object(
component varchar2(30)
,key varchar2(100)
,value varchar2(4000))
/
CREATE type my_type_tab as table of my_type
/
そしてパッケージmy_package
の手順:
PROCEDURE my_procedure (param in my_type_tab);
PL/SQLでプロシージャを実行するには、私が何かを行うことができます
declare
l_parms my_type_tab;
l_cnt pls_integer;
begin
l_parms := my_type_tab();
l_parms.extend;
l_cnt := l_parms.count;
l_parms(l_cnt) := my_type('foo','bar','hello');
l_parms.extend;
l_cnt := l_parms.count;
l_parms(l_cnt) := my_type('faz','baz','world');
my_package.my_procedure(l_parms);
end;
しかし、私はどのように私がそれをPython、similaで行うことができるのだろうと思っていましたこのコードへR:
import cx_Oracle
orcl = cx_Oracle.connect('foo:[email protected]:5555/blah' + instance)
curs = orcl.cursor()
params = ???
curs.execute('begin my_package.my_procedure(:params)', params=params)
パラメータは、私は上記のようにこれを行うことができ、文字列だったが、それはユーザー定義型なので、私は純粋なPL/SQLコードに頼ることなく、それを呼び出す方法が分からない場合は。
編集:申し訳ありませんが、私はPL/SQLの代わりにPythonコードでもっと多くのことを行う方法を探していたはずです。