64 lines
1.3 KiB
MySQL
64 lines
1.3 KiB
MySQL
|
|
create or replace procedure add_person (
|
||
|
|
p_firstname text,
|
||
|
|
p_lastname text,
|
||
|
|
p_birthdate date
|
||
|
|
)
|
||
|
|
language plpgsql
|
||
|
|
as $$
|
||
|
|
declare
|
||
|
|
v_holder_id bigint;
|
||
|
|
begin
|
||
|
|
|
||
|
|
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éé : % = % %',
|
||
|
|
v_holder_id, p_firstname, p_lastname;
|
||
|
|
end;
|
||
|
|
$$;
|
||
|
|
|
||
|
|
create or replace procedure add_bank (
|
||
|
|
name text
|
||
|
|
)
|
||
|
|
language plpgsql
|
||
|
|
as $$
|
||
|
|
declare
|
||
|
|
v_holder_id bigint;
|
||
|
|
begin
|
||
|
|
|
||
|
|
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éé : % = %',
|
||
|
|
v_holder_id, p_name;
|
||
|
|
end;
|
||
|
|
$$;
|
||
|
|
|
||
|
|
create or replace procedure add_company (
|
||
|
|
p_name text,
|
||
|
|
p_registration_number text,
|
||
|
|
p_created_at date
|
||
|
|
)
|
||
|
|
language plpgsql
|
||
|
|
as $$
|
||
|
|
declare
|
||
|
|
v_holder_id bigint;
|
||
|
|
begin
|
||
|
|
|
||
|
|
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éé : % = % %',
|
||
|
|
v_holder_id, p_name, p_registration_number;
|
||
|
|
end;
|
||
|
|
$$;
|