You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.3 KiB

drop table tresultat purge;
create table tresultat(ligne varchar2(200));
variable vidEquipement char(3)
prompt id de l'équipement
accept vidEquipement
variable vtarif number
prompt le tarif de l'équipement ?
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;