Advertisement
mali_cox

LV 7

Jan 6th, 2017
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 3.85 KB | None | 0 0
  1. /*Zadatak 1*/
  2. CREATE TABLE tabela( id VARCHAR2(25) NOT NULL,
  3.                      naziv VARCHAR2(10) NOT NULL,
  4.                      opis CHAR(15),
  5.                      datum DATE NOT NULL,
  6.                      korisnik VARCHAR2(30) NOT NULL,
  7.                      napomena VARCHAR2(10));
  8.  
  9. ALTER TABLE tabela RENAME TO odjel;
  10. SELECT * FROM odjel;
  11. SELECT * FROM departments;
  12.  
  13. /*Zadatak2*/
  14. INSERT INTO odjel( id, naziv, opis, datum, korisnik, napomena)
  15.   SELECT department_id, SubStr(department_name, 1, 10), 'Test', SYSDATE, 'Korisnik', 'Napomena'
  16.   FROM departments;
  17.  
  18. /*Zadatak3*/
  19. ALTER TABLE odjel MODIFY(naziv VARCHAR(30));
  20.  
  21. /*Zadatak 3*/
  22. ALTER TABLE odjel
  23. ADD(lokacija NUMBER,
  24.     menadzer_id NUMBER);
  25.  
  26. UPDATE odjel o
  27. SET(naziv, lokacija, menadzer_id) = (SELECT d.department_name, d.location_id, d.manager_id
  28.                                      FROM departments d
  29.                                      WHERE d.department_id = o.id);
  30.  
  31. /*Zadatak 4*/
  32. CREATE TABLE zaposleni(id NUMBER(4) NOT NULL,
  33.                        sifra_zaposlenog VARCHAR2(5) NOT NULL,
  34.                        naziv_zaposlenog CHAR(50),
  35.                        godina_zaposlenja NUMBER(4) NOT NULL,
  36.                        mjesec_zaposlenja CHAR(2) NOT NULL,
  37.                        sifra_odjela VARCHAR2(5),
  38.                        naziv_odjela VARCHAR2(15) NOT NULL,
  39.                        grad CHAR(10) NOT NULL,
  40.                        sifra_posla VARCHAR2(25),
  41.                        naziv_posla CHAR(50) NOT NULL,
  42.                        iznos_dodatak_na_platu NUMBER(5),
  43.                        plata NUMBER(6) NOT NULL,
  44.                        kontinent VARCHAR2(20),
  45.                        datum_unosa DATE NOT NULL,
  46.                        korisnik_unio CHAR(20) NOT NULL);
  47.  
  48. SELECT * FROM employees;
  49.  
  50. /*Zadatak 5*/
  51. INSERT INTO zaposleni
  52.        SELECT e.employee_id, SubStr(e.last_name || e.first_name, 1, 5), e.first_name || ' ' || e.last_name,
  53.               To_Char(e.hire_date, 'YYYY'), To_Char(e.hire_date, 'MM'), e.department_id, Nvl(SubStr(d.department_name, 1, 15), ' '), SubStr(l.city, 1, 10),
  54.               e.job_id, j.job_title, Nvl(e.salary*e.commission_pct, 0), e.salary, SubStr(r.region_name, 1, 20), SYSDATE, USER
  55.        FROM employees e, jobs j, departments d, locations l, countries c, regions r
  56.        WHERE e.job_id = j.job_id AND e.department_id = d.department_id AND d.location_id = l.location_id AND l.country_id = c.country_id AND c.region_id = r.region_id;
  57.  
  58. SELECT * FROM zaposleni;
  59.  
  60. /*Zadatak 6*/
  61. CREATE TABLE zaposleni2 AS SELECT * FROM zaposleni;
  62.  
  63. /*Zadatak 7*/
  64. ALTER TABLE zaposleni2 ADD(zaposleni_kolona VARCHAR(70),
  65.                            odjel VARCHAR(20),
  66.                            posao VARCHAR(75));
  67.  
  68.  
  69.  
  70. UPDATE zaposleni2 z1
  71. SET(zaposleni_kolona, odjel, posao) = (SELECT Concat(Concat(z1.sifra_zaposlenog, ' '), z1.naziv_zaposlenog),
  72.                                               Concat(Concat(Nvl(sifra_odjela,0), ' '), z1.naziv_odjela),
  73.                                               Concat(Concat(z1.sifra_posla, ' '), z1.naziv_posla)
  74.                                        FROM zaposleni2 z2
  75.                                        WHERE z1.id = z2.id);
  76.  
  77. ALTER TABLE zaposleni2
  78. DROP (sifra_zaposlenog, sifra_odjela, sifra_posla);
  79. SELECT * FROM zaposleni2;
  80.  
  81. /*Zadatak 8*/
  82. ALTER TABLE zaposleni2 RENAME TO zaposleni_backup;
  83. SELECT * FROM zaposleni_backup;
  84.  
  85. /*Zadatak 9*/
  86. COMMENT ON TABLE zaposleni IS 'Tabela zaposlenih';
  87. COMMENT ON TABLE zaposleni_backup IS 'Backup tabela zaposlnih';
  88.  
  89. /*Zadatak 10*/
  90. COMMENT ON COLUMN zaposleni.korisnik_unio IS 'Korisnik koji je unio dati red u tabelu';
  91.  
  92. /*Zadatak 11*/
  93. ALTER TABLE zaposleni_backup SET unused (datum_unosa, korisnik_unio);
  94.  
  95. /*Zadatak 12*/
  96. SELECT * FROM user_tab_comments;
  97. SELECT * FROM user_col_comments;
  98.  
  99. /*Zadatak 13*/
  100. ALTER TABLE zaposleni_backup
  101. DROP unused COLUMNS;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement