提问人:Ashley Ferns 提问时间:12/5/2022 最后编辑:Ashley Ferns 更新时间:12/5/2022 访问量:24
如何在 nodejs 中将其转换为 postgresql 存储过程
How to convert this into postgresql stored procedures in nodejs
问:
我想将 postgresql 查询更改为 Nodejs 中的存储过程。
app.post("/add", async(req, res) => {
try {
const { name, email, hobby } = req.body;
const newStudent = await pool.query("INSERT INTO student (name, email, hobby) VALUES ($1, $2, $3) RETURNING *", [name, email, hobby]);
res.json(newStudent.rows);
} catch (err) {
console.error(err.message);
}
})
答:
0赞
NeutroLink
12/5/2022
#1
-- Create a stored procedure to insert a new student
CREATE OR REPLACE FUNCTION add_student (name VARCHAR, email VARCHAR, hobby VARCHAR)
RETURNS TABLE(id INT, name VARCHAR, email VARCHAR, hobby VARCHAR)
AS $$
BEGIN
INSERT INTO student (name, email, hobby) VALUES (name, email, hobby) RETURNING *;
RETURN QUERY SELECT * FROM student;
END;
$$ LANGUAGE plpgsql;
-- Execute the stored procedure to add a new student
SELECT add_student('John Doe', '[email protected]', 'Gardening');
评论
0赞
12/5/2022
每次调用函数时,函数都会返回整个表的内容。student
0赞
Richard Huxton
12/5/2022
@NeutroLink,您可以通过将代码放在仅包含三个反引号 (') 的两行之间来设置代码的格式
0赞
Ashley Ferns
12/5/2022
我实际上想知道如何在 nodejs 中编写存储过程。
0赞
Frank Heikens
12/5/2022
返回会更有意义,只是新记录而不是所有记录。
评论