PostgreSQL의 저장 프로시저 예
어떻게 작동하는지 이해하기 위한 예를 제공할 것입니다. 이 예에는 일부 학생의 등록을 일부 과목의 한 그룹에 저장하는 하나의 테이블이 있습니다.
CREATE TABLE inscription(
cod_student INTEGER NOT NULL,
cod_subject SMALLINT NOT NULL,
group SMALLINT NOT NULL
);
제공하는 새 학생을 등록하기 위해 등록된 학생 수가 가장 적은 그룹을 알 수 있는 저장 프로시저를 만들어야 합니다.
이 경우 주제 1001에 대해 2개의 그룹이 있습니다.
select cod_subject, group, count(*)
from inscription i2
where cod_subject = 1001
그리고 우리는 이와 같이 저장 프로시저를 만들 것입니다.
create or replace procedure assign_group(
student int,
subject int
)
language plpgsql
as $$
declare
chosenGroup int;
begin
chosenGroup := (select grupo from (select cod_a,grupo,count(*)
from inscribe i2
where cod_a = asignatura group by cod_a , grupo
order by count(*) asc limit 1 ) gru_men);
insert into inscription(cod_student , cod_subject , group)
values (student, subject, chosenGroup );
commit;
end;$$
이제 구문을 정의해 보겠습니다.
마지막으로 프로시저(assign_group(1457855, 1001) 호출)를 호출하면 새 학생은 학생 수가 가장 적기 때문에 그룹 2에 등록됩니다.
도움이 되길 바라며 읽어주셔서 감사합니다.
Reference
이 문제에 관하여(PostgreSQL의 저장 프로시저 예), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sabrinasuarezarrieta/stored-procedures-in-postgresql-50mg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)