Files
sql/banque/banque.2.proc.sql

64 lines
1.3 KiB
MySQL
Raw Normal View History

2025-11-07 21:29:15 +01:00
create or replace procedure add_person (
p_firstname text,
p_lastname text,
p_birthdate date
)
language plpgsql
as $$
declare
v_holder_id bigint;
begin
2025-11-08 05:51:25 +01:00
2025-11-07 21:29:15 +01:00
insert into holder(type) values ('PERSON')
returning id into v_holder_id;
insert into person(id, firstname, lastname, birthdate)
values (v_holder_id, p_firstname, p_lastname, p_birthdate);
raise notice 'Titulaire créé : % = % %',
2025-11-08 05:51:25 +01:00
v_holder_id, p_firstname, p_lastname;
2025-11-07 21:29:15 +01:00
end;
$$;
create or replace procedure add_bank (
name text
)
language plpgsql
as $$
declare
v_holder_id bigint;
begin
2025-11-08 05:51:25 +01:00
2025-11-07 21:29:15 +01:00
insert into holder(type) values ('BANK')
returning id into v_holder_id;
insert into bank(id, name)
values (v_holder_id, p_name);
raise notice 'Titulaire créé : % = %',
2025-11-08 05:51:25 +01:00
v_holder_id, p_name;
2025-11-07 21:29:15 +01:00
end;
$$;
create or replace procedure add_company (
2025-11-08 05:51:25 +01:00
p_name text,
p_registration_number text,
2025-11-07 21:29:15 +01:00
p_created_at date
)
language plpgsql
as $$
declare
v_holder_id bigint;
begin
2025-11-08 05:51:25 +01:00
2025-11-07 21:29:15 +01:00
insert into holder(type) values ('COMPANY')
returning id into v_holder_id;
insert into company(id, name, registration_number, created_at)
values (v_holder_id, p_name, p_registration_number, p_created_at);
raise notice 'Titulaire créé : % = % %',
2025-11-08 05:51:25 +01:00
v_holder_id, p_name, p_registration_number;
2025-11-07 21:29:15 +01:00
end;
$$;