为什么它声明我的 sql 语句不需要参数
why does it states that my sql statement needs no parameters
`do $$declare temp_id integer;
begin;
insert INTO public.logindetails(email, pass, dept, designation, status) VALUES(, , , , );
select login_id into temp_id from public.logindetails where email = ;
INSERT INTO public.studentdetails(login_id, curr_year, enroll_no,full_name) VALUES (temp_id, , , );
end $$;`
这是我的 sql 声明,我试图在我的 express 应用程序中执行。
这是我的服务器端 post 端点。
下面是我的客户端js:
我得到的错误是:
我已经尝试在 postgreSQL 的 gui 中进行操作,并且效果很好:
任何人都可以找出一个工作或我出错的部分以及解决它的方法。
看看这是否有帮助:
非常感谢帮助。
我找到了解决这个问题的方法,@Ry- 的评论给了我一个方向,this as well as this 帮助我进一步解决了这个问题。
解决方案:
如果你必须像我一直在尝试的那样做语句,那么解决方法是:
WITH getID AS (INSERT INTO public.logindetails(email, pass, dept, designation, status) VALUES(, , , , ) RETURNING login_id)
INSERT INTO public.studentdetails(login_id, curr_year, enroll_no, full_name)
SELECT login_id, , , FROM getID;
然后根据需要传参
`do $$declare temp_id integer;
begin;
insert INTO public.logindetails(email, pass, dept, designation, status) VALUES(, , , , );
select login_id into temp_id from public.logindetails where email = ;
INSERT INTO public.studentdetails(login_id, curr_year, enroll_no,full_name) VALUES (temp_id, , , );
end $$;`
这是我的 sql 声明,我试图在我的 express 应用程序中执行。
我得到的错误是:
看看这是否有帮助:
我找到了解决这个问题的方法,@Ry- 的评论给了我一个方向,this as well as this 帮助我进一步解决了这个问题。
解决方案:
如果你必须像我一直在尝试的那样做语句,那么解决方法是:
WITH getID AS (INSERT INTO public.logindetails(email, pass, dept, designation, status) VALUES(, , , , ) RETURNING login_id)
INSERT INTO public.studentdetails(login_id, curr_year, enroll_no, full_name) SELECT login_id, , , FROM getID;
然后根据需要传参