Advertisement
Guest User

Untitled

a guest
Feb 8th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.33 KB | None | 0 0
  1. -------------- Task 1 --------------------------
  2.  
  3. alter table student add tallness int;
  4. alter table student modify email varchar2(40) null;
  5.  
  6. -------------- Task 2 --------------------------
  7.  
  8. -------------- Task 3 --------------------------
  9.  
  10. Nejrozumnější je vložit druhý záznam se stejným primárním
  11. klíčem a dát ROLLBACK při SET AUTOCOMMIT ON/OFF
  12.  
  13. -------------- Task 4 --------------------------
  14.  
  15. create or replace
  16. PROCEDURE AddStudent(
  17. p_login IN VARCHAR2,
  18. p_fname IN VARCHAR2,
  19. p_lname IN VARCHAR2,
  20. p_tallness IN NUMBER) AS
  21. BEGIN
  22. insert into student (login, fname, lname, tallness) values (p_login, p_fname, p_lname, p_tallness);
  23. END AddStudent;
  24.  
  25. execute AddStudent('nov12', 'Jarda', 'Novak', 170);
  26. execute AddStudent('nov90', 'Lada', 'Novakova', 173);
  27. execute AddStudent('hla10', 'Uhor', 'Hladky', 185);
  28. select * from student;
  29.  
  30. ------------
  31.  
  32. create or replace
  33. FUNCTION FAddStudent(
  34. p_login IN VARCHAR2,
  35. p_fname IN VARCHAR2,
  36. p_lname IN VARCHAR2,
  37. p_tallness IN NUMBER)
  38. RETURN VARCHAR2 AS
  39. BEGIN
  40. insert into student (login, fname, lname, tallness) values (p_login, p_fname, p_lname, p_tallness);
  41. return 'ok';
  42. exception
  43. when others then
  44. return 'error';
  45. END FAddStudent;
  46.  
  47. set serveroutput on;
  48. execute dbms_output.put_line(FAddStudent('bon007', 'James', 'Bond', 190));
  49. execute dbms_output.put_line(FAddStudent('bac27', 'Radim', 'Baca', 175));
  50.  
  51.  
  52. -------------- Task 5 --------------------------
  53.  
  54. create or replace
  55. PROCEDURE StudentBecomeTeacher( p_login IN student.login%TYPE, p_department IN teacher.department%TYPE)
  56. AS
  57. v_fname student.fname%TYPE;
  58. v_lname student.lname%TYPE;
  59. BEGIN
  60. SELECT fname, lname INTO v_fname, v_lname FROM student WHERE login = p_login;
  61. DELETE FROM student WHERE login = p_login;
  62. INSERT INTO teacher VALUES (p_login, v_fname, v_lname, p_department, NULL);
  63. commit;
  64. EXCEPTION
  65. WHEN OTHERS THEN
  66. rollback;
  67. END StudentBecomeTeacher;
  68.  
  69. execute StudentBecomeTeacher('sob28', 100);
  70.  
  71. ------------
  72.  
  73. create or replace
  74. PROCEDURE AddStudent2(
  75. p_fname IN VARCHAR2,
  76. p_lname IN VARCHAR2,
  77. p_tallness IN NUMBER) AS
  78. v_login VARCHAR2(5);
  79. BEGIN
  80. v_login := substr(p_lname, 0, 3) || '00';
  81. insert into student (login, fname, lname, tallness) values (v_login, p_fname, p_lname, p_tallness);
  82. END AddStudent2;
  83.  
  84. execute AddStudent2('Bill','Gates', 166);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement