Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. create or replace PROCEDURE CREER_EMPLOYE
  2. (LE_NUEMPL IN NUMBER, LE_NOMEMPL IN VARCHAR2, LE_HEBDO IN NUMBER, LE_AFFECT IN NUMBER,LE_SALAIRE IN NUMBER) IS
  3. BEGIN
  4. SET TRANSACTION READ WRITE;
  5. INSERT INTO employe VALUES(LE_NUEMPL , LE_NOMEMPL, LE_HEBDO, LE_AFFECT,LE_SALAIRE);
  6. COMMIT;
  7. Exception
  8. WHEN OTHERS THEN ROLLBACK;
  9. IF SQLCODE=-00001 THEN
  10. ROLLBACK;
  11. RAISE_APPLICATION_ERROR (-20401, 'Un employé avec le même numéro existe déjà');
  12. ELSIF SQLCODE=-02291 or SQLCODE=-02292 THEN
  13. ROLLBACK;
  14. RAISE_APPLICATION_ERROR (-20402, 'Le service auquel il est affecté n existe pas');
  15. ELSIF SQLCODE=-02290 THEN
  16. ROLLBACK;
  17. RAISE_APPLICATION_ERROR (-20403, 'La durée hebdomadaire d un employé doit être inférieure ou égale à 35h');
  18.  
  19. ELSIF SQLCODE=-20014 or SQLCODE=-20015 THEN
  20. ROLLBACK;
  21. RAISE_APPLICATION_ERROR (-20409, 'La somme des durée de la table trvaille dépasse le temps hebdo de l employe');
  22. ELSIF SQLCODE=-02290 THEN
  23. ROLLBACK;
  24. RAISE_APPLICATION_ERROR (-20403, 'La durée hebdomadaire d un employé doit être inférieure ou égale à 35h');
  25. ELSIF SQLCODE=-01438 THEN
  26. ROLLBACK;
  27. RAISE_APPLICATION_ERROR (-20404,'Une valeur (nombre) dépasse le nombe de caractères autorisé') ;
  28.  
  29. ELSIF SQLCODE=-12899 THEN
  30. ROLLBACK;
  31. RAISE_APPLICATION_ERROR (-20405,'Une valeur (chaine de caractère) dépasse le nombe de caractères autorisé') ;
  32.  
  33. ELSIF SQLCODE=-20034 THEN
  34. ROLLBACK;
  35. RAISE_APPLICATION_ERROR (-20405,'Le salaire de cet employé dépasse celui de son chef de service');
  36. ELSE
  37. RAISE_APPLICATION_ERROR (-20999,'Erreur innatendue'||SQLcode);
  38. END IF;
  39. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement