Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- create or replace PROCEDURE CREER_EMPLOYE
- (LE_NUEMPL IN NUMBER, LE_NOMEMPL IN VARCHAR2, LE_HEBDO IN NUMBER, LE_AFFECT IN NUMBER,LE_SALAIRE IN NUMBER) IS
- BEGIN
- SET TRANSACTION READ WRITE;
- INSERT INTO employe VALUES(LE_NUEMPL , LE_NOMEMPL, LE_HEBDO, LE_AFFECT,LE_SALAIRE);
- COMMIT;
- Exception
- WHEN OTHERS THEN ROLLBACK;
- IF SQLCODE=-00001 THEN
- ROLLBACK;
- RAISE_APPLICATION_ERROR (-20401, 'Un employé avec le même numéro existe déjà');
- ELSIF SQLCODE=-02291 or SQLCODE=-02292 THEN
- ROLLBACK;
- RAISE_APPLICATION_ERROR (-20402, 'Le service auquel il est affecté n existe pas');
- ELSIF SQLCODE=-02290 THEN
- ROLLBACK;
- RAISE_APPLICATION_ERROR (-20403, 'La durée hebdomadaire d un employé doit être inférieure ou égale à 35h');
- ELSIF SQLCODE=-20014 or SQLCODE=-20015 THEN
- ROLLBACK;
- RAISE_APPLICATION_ERROR (-20409, 'La somme des durée de la table trvaille dépasse le temps hebdo de l employe');
- ELSIF SQLCODE=-02290 THEN
- ROLLBACK;
- RAISE_APPLICATION_ERROR (-20403, 'La durée hebdomadaire d un employé doit être inférieure ou égale à 35h');
- ELSIF SQLCODE=-01438 THEN
- ROLLBACK;
- RAISE_APPLICATION_ERROR (-20404,'Une valeur (nombre) dépasse le nombe de caractères autorisé') ;
- ELSIF SQLCODE=-12899 THEN
- ROLLBACK;
- RAISE_APPLICATION_ERROR (-20405,'Une valeur (chaine de caractère) dépasse le nombe de caractères autorisé') ;
- ELSIF SQLCODE=-20034 THEN
- ROLLBACK;
- RAISE_APPLICATION_ERROR (-20405,'Le salaire de cet employé dépasse celui de son chef de service');
- ELSE
- RAISE_APPLICATION_ERROR (-20999,'Erreur innatendue'||SQLcode);
- END IF;
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement