Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在一个会话中使用node oracledb插件执行多个sql查询_Node.js_Oracle_Node Oracledb - Fatal编程技术网

Node.js 如何在一个会话中使用node oracledb插件执行多个sql查询

Node.js 如何在一个会话中使用node oracledb插件执行多个sql查询,node.js,oracle,node-oracledb,Node.js,Oracle,Node Oracledb,我正在使用节点oracle db插件访问部署在远程服务器上的oracle数据库。我只需要在一个会话中执行多个UPDATE查询。我无法修改数据库中的多个值 现在,这个示例语句为两个PID设置9000。我需要两个PID的不同值 UPDATE product_master SET prod_bal= :bal WHERE pid in (100857,100861),[9000] 需要帮忙吗 update product_master set prod_bal = case when pid

我正在使用
节点oracle db
插件访问部署在远程服务器上的oracle数据库。我只需要在一个会话中执行多个
UPDATE
查询。我无法修改数据库中的多个值

现在,这个示例语句为两个PID设置9000。我需要两个PID的不同值

UPDATE product_master 
SET prod_bal= :bal 
WHERE pid in (100857,100861),[9000]

需要帮忙吗

update product_master set
  prod_bal = case when pid = 100857 then 100
                  when pid = 100861 then 200
             end
where pid in (100857, 100861);             

100和200是本例中的硬编码值;显然,您需要使用两个变量。

为什么不能发出两个update语句,每个PID一个?PID的数量总是固定在2吗?平衡值从何处来?另一个表,JS中的一个计算?@APC我遇到错误,无法执行两个语句,这就是为什么我要求执行多个语句。@Dan McGhan,我必须用现有值加上一个变量更新平衡值。@Himanshu现有值?它来自哪里?我这样问是因为策略可能会有所不同。一般来说,如果您可以在一条SQL语句中实现这一点,那么这将是最有效的解决方案。例如,如果这些值来自另一个表(对它们应用了简单的计算),那么您可以使用比Littlefoot建议的更灵活的语句。我们越了解您正在努力做的事情,我们就越能提供更好的帮助——细节很重要。