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 並以串列依位置傳遞參數

airflow/providers/oracle/example_dags/example_oracle.py[原始碼]


    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],
    )

或者,參數也可以使用字典以關鍵字引數的方式傳遞。

airflow/providers/oracle/example_dags/example_oracle.py[原始碼]


    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 文件

這個條目有幫助嗎?