当前位置: 首页 > 知识库问答 >
问题:

将对象作为输入参数传递给节点js中带有节点oracledb的存储过程

商昆琦
2023-03-14

我有一个存储过程,它接受两个输入参数,并给出一个输出参数
输入参数一个是Oracle自定义类型,第二个是字符类型
输出参数是数字类型

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

有人能帮我访问节点oracle节点模块的过程吗?

共有1个答案

舒仲渊
2023-03-14

鉴于此程序:

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);
  });

通过替换过程名、args和绑定,尝试以相同的方式执行您的过程。

在这里查看文档:https://oracle.github.io/node-oracledb/doc/api.html

 类似资料:
  • 我有一个APIhttp://studentresults.com/studentresults?studentname=xyz 通过上面的url,我得到了考试当天学生姓名的信息。我可以通过使用node js解析url来获取单个学生的信息。现在我有15个学生。如何获取考试当天的所有信息,以便创建 在上面的url中,通过改变学生的名字,我们得到一个学生的详细信息。如果我需要得到所有的学生的详细信息,如

  • 问题内容: 我在服务器上有一个非常重量级的查询,它会生成新的页面渲染,并且我想将查询的一些结果传递给客户端(作为对象的javascript数组)。基本上是这样,因此我不必稍后再进行单独的JSON查询即可获得相同的内容(通常是静态的)。数据最终将是有用的,但最初没有用,因此我没有将其直接放入文档中。 数据是一个对象数组,最初只使用一些对象。我想传递整个数据或传递一些子集(取决于情况)。我的玉看起来像

  • 问题内容: 我创建了一个新的詹金斯管道。(当前)使用单个名为的布尔选项对管道进行参数化。我的管道脚本是: 当我手动创建带有选中项的项目时,将按预期回显“ true”。但是,环境变量列表未显示。 我能够显示是否将呼叫包装在一个块中: 我将拥有比这更多的参数,因此不需要单独指定每个参数。 有没有办法将所有构建参数传送到节点的环境? 问题答案: 关键是,在管道脚本中,作业参数不会像常规作业一样自动注入到

  • 问题内容: 我正在创建一些存储过程来管理我的数据库。特别是,我想创建一个存储过程来编辑特定行的一列,但是我想通过将列名作为参数传递来做到这一点。 那就是我想做的 使用该参数,我找到了要编辑的特定行,并且我想使用该参数来仅编辑我想要的列。 正如我在其他主题上所读到的那样,我已经尝试使用或定义局部变量,但没有找到解决方案。 有什么帮助吗? 问题答案: 您将需要使用 动态SQL : 请注意,正如Paul

  • 问题内容: 关于是否可以做某事,以及是否将是最有效的做事方式,我有一个普遍的问题! 总结一下:我可以将对象集合作为参数传递给存储过程吗? 假设我有一个名为SQL Server的表 ,另一个名为 此设置是为了记录用户的多个爱好。 在我的应用程序中,我想更新用户记录。 通常-我将更新用户表,然后在代码中循环遍历每个爱好,并逐条记录更新爱好表记录。 如果我要更新用户的姓氏和他们的2个爱好,则需要对数据库

  • 我得到了这样的错误{“code”:“er_parse_error”,“errno”:1064,“sqlmessage”:“您的SQL语法中有错误;请查看与您的MySQL服务器版本相对应的手册,以便在第1行'sp_li_uploaddata_get'附近使用正确的语法”,“sqlstate”:“42000”,“index”:0,“SQL”:“sp_li_uploaddata_get”}