nodejs oracledb выбор данных WHERE IN массив значений - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь получить строки с идентификатором 1,2,3.

Вот мой код:

app.use('/', async function(req, res, next){
    try{
        var query = await connection.execute(`SELECT * FROM ERROR_LIST WHERE ID IN :1`, [[1,2,3]]);
        console.log(query);
        res.send(query.rows)
    } catch(err) {
        next(err);
    }
   next();
});

В результате: ORA-01484: массивы могут быть только привязан к PL / SQL заявлениям

1 Ответ

0 голосов
/ 02 мая 2020

Документация по node-oracledb содержит целый раздел Связывание нескольких значений с SQL WHERE IN пунктом .

Вам понадобится одно из решений, самое простое из которых:

const sql = `SELECT last_name FROM employees WHERE first_name IN (:bv1, :bv2, :bv3, :bv4)`;
const binds = ['Alyssa', 'Christopher', 'Hazel', 'Samuel'];
const result = await connection.execute(sql, binds);
...