【发布时间】:2021-11-23 18:54:48
【问题描述】:
我想要一个程序来检查哪个买家花了超过 1600 美元,然后我想打印出他们的信息,这样我就可以给他们寄一张礼品卡。 我收到错误:SQL 错误 [42601]:错误:查询没有结果数据的目的地 当我调用这个程序时:
create or replace procedure bookstore.procedure1 ()
language plpgsql
as $$
declare
i integer := 0;
temp_price numeric;
temp_sum numeric;
temp_foreign_key integer;
number_of_buyers integer := (select count(*) from bookstore.buyer);
begin
while i < number_of_buyers loop
select sum (price) as temp_sum from bookstore.receipt where id_buyer = i;
if temp_sum > 1600 then
select id_buyer, name, surname, adress from bookstore.buyer where id_buyer = i;
end if;
i := i+1;
end loop;
end
$$;
问题在于 选择 sum (price) as temp_sum... 行。我在 MySQL 中有类似的过程,它可以工作。例如,我尝试使用 id_buyer = 20 运行该行并且它有效。应该怎么改?
这是我关于stackoverflow的第一个问题,希望可以理解。
【问题讨论】:
标签: sql postgresql select stored-procedures plpgsql