首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个查询中的node-oracledb多条语句

一个查询中的node-oracledb多条语句
EN

Stack Overflow用户
提问于 2021-11-04 19:12:35
回答 2查看 55关注 0票数 0

在MySQL中,我们可以在一个查询中执行多个语句,如下例所示。在oracledb中,有没有在一个查询中运行多条语句的类似方法?

代码语言:javascript
复制
const mysql = require('mysql');

const connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'password',
    multipleStatements: true
})

app.get('/distinct',(req,res)=>{  
    connection.query('select DISTINCT country FROM sample_data.olympic_winners order by country ASC; select DISTINCT sport FROM sample_data.olympic_winners order by sport ASC',(err,rows)=>{  
    if(!err)   
    res.send(rows);  
    else  
        console.log(err);  
      
})  
});
EN

回答 2

Stack Overflow用户

发布于 2021-11-05 01:04:04

Oracle一次只允许执行一条SQL或PL/SQL语句。

您可以将查询封装在PL/SQL块中并使用Oracle的隐式结果集,请参见doc

例如:

代码语言:javascript
复制
const plsql = `
  DECLARE
    c1 SYS_REFCURSOR;
    c2 SYS_REFCURSOR;
  BEGIN
    OPEN c1 FOR SELECT city, postal_code
                FROM locations
                WHERE location_id < 1200;
    DBMS_SQL.RETURN_RESULT(c1);

    OPEN C2 FOR SELECT job_id, employee_id, last_name
                FROM employees
                WHERE employee_id < 103;
    DBMS_SQL.RETURN_RESULT(c2);
  END;`;

result = await connection.execute(plsql);
console.log(result.implicitResults);

将显示:

代码语言:javascript
复制
[
  [
    [ 'Roma', '00989' ],
    [ 'Venice', '10934' ],
  ],
  [
    [ 'AD_PRES', 100, 'King' ],
    [ 'AD_VP', 101, 'Kochhar' ],
    [ 'AD_VP', 102, 'De Haan' ],
  ]
]
票数 1
EN

Stack Overflow用户

发布于 2021-11-09 17:46:16

另一种方法是在不调用PL/SQL的情况下在单个select语句中联合数据库端的查询:

代码语言:javascript
复制
select DISTINCT 'country', country FROM sample_data.olympic_winners 
  UNION ALL
select DISTINCT 'sport', sport FROM sample_data.olympic_winners
  order by 1,2 ASC;

这种方法要求所涉及的表具有相同的行结构,并提供复合结果集。这取决于使用这种复合请求要实现的目标是什么,比如结果集所需的结构(只是一个简单的统一列表,或者更确切地说是分层的master-detail)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69844668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档