Я создал хранимую процедуру в PostgreSQL 11 для выполнения операции CRUD, и она отлично работает для 1. Создать 2. Обновление 3. Удалить, но пока я запускаю команду чтения, передав Condition = 4
для выбора набора результатов, я получаюошибка ниже.
Я использовал функцию PostgreSQL, чтобы получить набор результатов, он работает для меня, но мне нужно получить результат, используя хранимую процедуру PostgreSQL.
Вот мой код для хранимой процедуры:
CREATE OR REPLACE PROCEDURE public.testSpCrud(
fnam text,
lnam text,
id integer,
condition integer)
LANGUAGE 'plpgsql'
AS $BODY$
declare
countOfDisc int;
BEGIN
if condition=1 then
INSERT INTO public.employee(
employeeid, lname, fname, securitylevel, employeepassword, hphonearea, hphone, cphonearea, cphone, street, city, state, zipcode, extzip, name, email, groomerid, type, commission, inactive, carrierid, notoallemployees, languageid, isdogwalker, ispetsitter, ismobilegroomer, ssma_timestamp)
VALUES (4, 'Test', 'Test', 2, 2, 32, 32, 32, 32, 32, 32,32, 32, 32, 22, 22, 2, 2, 2, false, 223,true, 223, true, true, true, '2019-08-27');
end if;
if condition =2 then
delete from Employee where employeeid=id;
end if;
if condition =3 then
update Employee set fname='Test' where employeeid=id;
end if;
if condition =4 then
Select * from Employee;
end if;
END;
$BODY$;
ERROR: query has no destination for result data
HINT: If you want to discard the results of a SELECT, use PERFORM instead.
CONTEXT: PL/pgSQL function testspcrud(text,text,integer,integer) line 22 at SQL statement
SQL state: 42601