Advertisement
Benlahbib_Abdessamad

Untitled

May 25th, 2015
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.33 KB | None | 0 0
  1. Exercice 1
  2.  
  3. 1.
  4.  
  5. CREATE OR REPLACE FUNCTION getdeptnom(dept_number IN dept.deptno%TYPE) RETURN varchar2 IS
  6. deptnom varchar2(30);
  7. BEGIN
  8. SELECT dname INTO deptnom FROM dept WHERE deptno=dept_number;
  9. RETURN deptnom;
  10. END getdeptnom;
  11. /
  12.  
  13. 2.
  14.  
  15. CREATE OR REPLACE PROCEDURE getnom(dept_number IN dept.deptno%TYPE,deptnom OUT dept.dname%TYPE)
  16. IS
  17. deptname varchar2(30);
  18. BEGIN
  19. SELECT dname INTO deptname FROM dept WHERE deptno=dept_number;
  20. deptnom:=deptname;
  21. END getnom;
  22. /
  23.  
  24. Exercice 2:
  25.  
  26. 1.
  27.  
  28. CREATE OR REPLACE PROCEDURE printer IS
  29.  
  30. Cursor cursorprinter IS (SELECT ename,job,getdeptid(deptno) deptname FROM emp) ;
  31. ligne cursorprinter % Rowtype;
  32. BEGIN
  33. OPEN cursorprinter;
  34. loop
  35. Fetch cursorprinter INTO ligne;
  36. exit WHEN cursorprinter%NotFound;
  37. DBMS_OUTPUT.put_line('l employe <<' || ligne.ename ||'>> a la profession <<' || ligne.job || '>> dans le departement <<' || ligne.deptname || '>>');
  38. END loop;
  39. close cursorprinter;
  40. END printer;
  41. /
  42.  
  43. 2.
  44.  
  45. CREATE OR REPLACE FUNCTION getemployename(numero IN emp.empno%TYPE) RETURN varchar2
  46. IS
  47. nom varchar2(30);
  48. BEGIN
  49. SELECT ename INTO nom FROM emp WHERE empno=numero;
  50. DBMS_OUTPUT.put_line('l employe <<' || nom || '>> a le code <<' || numero || '>>');
  51. RETURN (nom);
  52. exception
  53. WHEN no_data_found
  54. THEN DBMS_OUTPUT.PUT_LINE('code not found');
  55. RETURN('AUCUN');
  56. END getemployename;
  57. /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement