Ecrire un programme PL/SQL

Fermé
filaS Messages postés 42 Date d'inscription mardi 9 octobre 2012 Statut Membre Dernière intervention 5 novembre 2022 - 27 févr. 2013 à 11:30
jee pee Messages postés 39632 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 avril 2024 - 27 févr. 2013 à 20:53
Bonjour,
Comment écrire un programme PL/SQL qui insère des dépenses concernant les comptes où les allocations viennent d'être insérées avec les tables suivantes?
create table compte(id_cpt integer not null,numero_cpt number(15) not null,
intitule_cpt varchar2(15) not null,
no_ges integer not null,
no_dir integer not null,
constraint pk_compte primary key (id_cpt),
constraint fk_direction foreign key(no_dir) references direction(no_dir),
constraint fk_gestion foreign key(no_ges) references gestion (no_ges));

create table depense(no_dep integer not null,
date_dep default sysdate,
mt_dep number(10) not null,
libelle_dep varchar2(30) not null,
id_cpt integer not null,
constraint pk_depense primary key(no_dep),
constraint fk_compte foreign key(id_cpt) references compte(id_cpt),
constraint ck_dep check(mt_dep > 0));

create table allocation(no_alloc integer not null,
date_alloc date,
mt_alloc number(10) not null,
type_alloc varchar2(15) not null,
id_cpt integer not null,
constraint pk_allocation primary key (no_alloc),
constraint fk_compte foreign key(id_cpt) references compte (id_cpt),
constraint ck_alloc check (mt_alloc > 0),
constraint ck_type_alloc check ((type_alloc='ALLOUE')OR(type_alloc='ADDITIONNEL')OR(type_alloc='TRANSFERE')));

Le montant de la dépense sera la moitié du montant de l'allocation et le libellé de la dépense est l'intitulé du compte précédé par la mention `Dépense première tranche sur : '.
D'avance merci!
A voir également:

1 réponse

jee pee Messages postés 39632 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 avril 2024 9 234
Modifié par jee pee le 27/02/2013 à 20:54
Bonjour,

Pour faire ce que tu désires tu peux faire un script plsql que tu lances à la main. Voir : https://sheikyerbouti.developpez.com/pl_sql/

Tu pourrais aussi faire un trigger database qui sur l'insert d'un enregistrement créerait l'enregistrement dans l'autre table. Voir : https://docs.oracle.com/cd/A57673_01/DOC/server/doc/SCN73/ch15.htm

Cdlt

Un étranger, c'est un ami qu'on n'a pas encore rencontré.
0