Я использую Node-Postgres для создания онлайн-приложения для входа.Я могу запустить следующий код Postgres без проблем с помощью PSQL:
DO $$
BEGIN
IF (SELECT child.child_signedin FROM child WHERE child.child_name = 'mell') IS TRUE THEN
INSERT INTO signin (signin_child_id,signin_child_name,signin_intime)
VALUES (12,mell,'2018-09-24 21:46:06.249+00');
END IF;
END $$
К сожалению, когда я пытаюсь сделать это динамическим с помощью Node_Postgres, я получаю следующую ошибку:
"ошибкаСообщение bind содержит 3 параметра, но подготовленный оператор "" требует 0 "
Вот мой код nodejs:
signinTime = new Date();
let text = "DO $$ BEGIN IF (SELECT child.child_signedin FROM child WHERE child.child_name = $1) IS TRUE THEN INSERT INTO signin (signin_child_id,signin_child_name,signin_intime)\
VALUES ($1,$2,$3); END IF; END $$"
let values = [req.body.childName, req.body.childId, signinTime];
pool.query(text, values, (err, response) => {
if (err) {
// console.log(JSON.stringify(err.stack));
console.log(err.stack.split('\n', 1)[0])
}
else {
res.send('complete')
};//end else
})
Любые подсказки будут высоко оценены.