Oracle 運算子¶
Oracle 連線類型提供與 Oracle 資料庫的連線。
在 Oracle 資料庫中執行預存程序¶
若要在 Oracle 資料庫中執行預存程序,請使用 OracleStoredProcedureOperator
。
假設資料庫中存在一個如下所示的預存程序
CREATE OR REPLACE PROCEDURE TEST_PROCEDURE (val_in IN INT, val_out OUT INT) AS BEGIN val_out := val_in * 2; END; /
此預存程序接受單一整數引數 val_in,並輸出單一整數引數 val_out。這可以使用以下呼叫來表示,透過 OracleStoredProcedureOperator
並以串列依位置傳遞參數
opr_stored_procedure_with_list_input_output = OracleStoredProcedureOperator(
task_id="opr_stored_procedure_with_list_input_output",
oracle_conn_id="oracle",
procedure="TEST_PROCEDURE",
parameters=[3, int],
)
或者,參數也可以使用字典以關鍵字引數的方式傳遞。
opr_stored_procedure_with_dict_input_output = OracleStoredProcedureOperator(
task_id="opr_stored_procedure_with_dict_input_output",
oracle_conn_id="oracle",
procedure="TEST_PROCEDURE",
parameters={"val_in": 3, "val_out": int},
)
輸入和輸出都將傳遞到 xcom,前提是已請求 xcom 推送。
有關預存程序執行的更多資訊,請參閱 oracledb 文件。