我有一个存储过程,该过程需要两个输入参数并给出一个输出参数。
输入参数之一是Oracle自定义类型,第二个是CHAR类型
输出参数为数字类型
PROCEDURE SOMEPROCEDURE(
P_REC IN RV_SEARCH_CRITERIA_REC,
V_ITEM_BATCH_ID_FLAG IN CHAR,
V_RV_BATCH_ID OUT NUMBER)
here RV_SEARCH_CRITERIA_REC is
TYPE RV_SEARCH_CRITERIA_REC IS OBJECT(
CUSTOMER_NAME VARCHAR2(3000)
)
有人可以帮助我使用node-oracle节点模块访问该程序吗?
答案 0 :(得分:0)
执行以下步骤:
CREATE OR REPLACE PROCEDURE myproc (id IN NUMBER, name OUT VARCHAR2) AS
BEGIN
SELECT last_name INTO name FROM employees WHERE employee_id = id;
END;
您可以使用以下代码执行它:
. . .
connection.execute(
"BEGIN myproc(:id, :name); END;",
{ // bind variables
id: 159,
name: { dir: oracledb.BIND_OUT, type: oracledb.STRING, maxSize: 40 },
},
function (err, result) {
if (err) { console.error(err.message); return; }
console.log(result.outBinds);
});
尝试通过替换过程名称,参数和绑定来以相同的方式执行自己的操作。