|
|
|
@ -1,58 +1,56 @@
|
|
|
|
|
drop table tresultat purge;
|
|
|
|
|
create table tresultat(ligne varchar2(200));
|
|
|
|
|
|
|
|
|
|
variable vidEquipement char(3)
|
|
|
|
|
prompt id de l equipement
|
|
|
|
|
accept vidEquipement
|
|
|
|
|
|
|
|
|
|
variable vtarif number
|
|
|
|
|
prompt le tarif de l equipement ?
|
|
|
|
|
accept vtarif
|
|
|
|
|
|
|
|
|
|
variable vlibelle VARCHAR2(20)
|
|
|
|
|
prompt libellé équipement ?
|
|
|
|
|
accept vlibelle
|
|
|
|
|
|
|
|
|
|
DECLARE
|
|
|
|
|
dmessage varchar2(200);
|
|
|
|
|
probleme exception;
|
|
|
|
|
dcpt number;
|
|
|
|
|
|
|
|
|
|
BEGIN
|
|
|
|
|
|
|
|
|
|
dmessage := 'ERREUR: id équipement déjà attribué';
|
|
|
|
|
SELECT COUNT(*) INTO dcpt
|
|
|
|
|
FROM EQUIPEMENT
|
|
|
|
|
WHERE idEquipement = '&vidEquipement';
|
|
|
|
|
IF dcpt=1 THEN
|
|
|
|
|
INSERT INTO tresultat VALUES (dmessage);
|
|
|
|
|
ELSE
|
|
|
|
|
dmessage := 'ERREUR: Le tarif doit être supérieure à 0';
|
|
|
|
|
IF '&vtarif' <= 0 then
|
|
|
|
|
raise probleme;
|
|
|
|
|
ELSE
|
|
|
|
|
dmessage := 'ERREUR: le libellé de l''équipement doit être unique';
|
|
|
|
|
SELECT count(*) INTO dcpt
|
|
|
|
|
FROM EQUIPEMENT
|
|
|
|
|
WHERE libelle = '&vlibelle';
|
|
|
|
|
|
|
|
|
|
IF dcpt>0 then
|
|
|
|
|
raise probleme;
|
|
|
|
|
ELSE
|
|
|
|
|
INSERT INTO EQUIPEMENT VALUES ('&vidEquipement', '&vtarif', '&vlibelle');
|
|
|
|
|
COMMIT;
|
|
|
|
|
INSERT INTO tresultat VALUES ('L'équipement a été enregistré :' || '&vlibelle');
|
|
|
|
|
END IF;
|
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
|
|
EXCEPTION
|
|
|
|
|
WHEN probleme then
|
|
|
|
|
INSERT INTO tresultat VALUES (dmessage);
|
|
|
|
|
END;
|
|
|
|
|
.
|
|
|
|
|
/
|
|
|
|
|
|
|
|
|
|
SELECT * FROM tresultat;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
drop table tresultat purge;
|
|
|
|
|
create table tresultat(ligne varchar2(200));
|
|
|
|
|
|
|
|
|
|
variable vidEquipement char(3)
|
|
|
|
|
prompt id de l equipement
|
|
|
|
|
accept vidEquipement
|
|
|
|
|
|
|
|
|
|
variable vtarif number
|
|
|
|
|
prompt le tarif de l equipement ?
|
|
|
|
|
accept vtarif
|
|
|
|
|
|
|
|
|
|
variable vlibelle VARCHAR2(20)
|
|
|
|
|
prompt libellé équipement ?
|
|
|
|
|
accept vlibelle
|
|
|
|
|
|
|
|
|
|
DECLARE
|
|
|
|
|
dmessage varchar2(200);
|
|
|
|
|
probleme exception;
|
|
|
|
|
dcpt number;
|
|
|
|
|
|
|
|
|
|
BEGIN
|
|
|
|
|
|
|
|
|
|
dmessage := 'ERREUR: id equipement deja attribue';
|
|
|
|
|
SELECT COUNT(*) INTO dcpt
|
|
|
|
|
FROM EQUIPEMENT
|
|
|
|
|
WHERE idEquipement = '&vidEquipement';
|
|
|
|
|
IF dcpt=1 THEN
|
|
|
|
|
INSERT INTO tresultat VALUES (dmessage);
|
|
|
|
|
ELSE
|
|
|
|
|
dmessage := 'ERREUR: Le tarif doit etre superieure a 0';
|
|
|
|
|
IF '&vtarif' <= 0 then
|
|
|
|
|
raise probleme;
|
|
|
|
|
ELSE
|
|
|
|
|
dmessage := 'ERREUR: le libelle de l equipement doit etre unique';
|
|
|
|
|
SELECT count(*) INTO dcpt
|
|
|
|
|
FROM EQUIPEMENT
|
|
|
|
|
WHERE libelle = '&vlibelle';
|
|
|
|
|
|
|
|
|
|
IF dcpt>0 then
|
|
|
|
|
raise probleme;
|
|
|
|
|
ELSE
|
|
|
|
|
INSERT INTO EQUIPEMENT VALUES ('&vidEquipement', '&vtarif', '&vlibelle');
|
|
|
|
|
COMMIT;
|
|
|
|
|
INSERT INTO tresultat VALUES ('L equipement a ete enregistre :' || '&vlibelle');
|
|
|
|
|
END IF;
|
|
|
|
|
END IF;
|
|
|
|
|
|
|
|
|
|
EXCEPTION
|
|
|
|
|
WHEN probleme then
|
|
|
|
|
INSERT INTO tresultat VALUES (dmessage);
|
|
|
|
|
END;
|
|
|
|
|
.
|
|
|
|
|
/
|
|
|
|
|
|
|
|
|
|
SELECT * FROM tresultat;
|
|
|
|
|
|
|
|
|
|