Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 4

1.

Domaci drugi zadatak

DECLARE
v_dep_id departments.department_id%TYPE;
v_broj_zap NUMBER(3);
BEGIN
SELECT department_id
INTO v_dep_id
FROM employees
WHERE first_name='Diana' AND last_name='Lorentz';
SELECT COUNT(employee_id)
INTO v_broj_zap
FROM employees
WHERE v_dep_id=department_id;
DBMS_OUTPUT.PUT_LINE('Broj zaposlenih u odeljenju: '|| v_broj_zap);
END

2. Da li ima vise radnika u Marketingu ili Sales-u

DECLARE
v_brojs NUMBER(2);
v_brojm NUMBER(2);
BEGIN
SELECT COUNT(employee_id)
INTO v_brojs
FROM employees e JOIN departments d ON (e.department_id=d.department_id)
WHERE department_name='Sales';

SELECT COUNT(employee_id)
INTO v_brojm
FROM employees e JOIN departments d ON (e.department_id=d.department_id)
WHERE department_name='Marketing';

IF v_brojm>v_brojs THEN
DBMS_OUTPUT.PUT_LINE('Vise radnika ima u odeljenju Marketing ');
ELSIF v_brojm=v_brojs THEN
DBMS_OUTPUT.PUT_LINE('Radnika je isto ');
ELSE
DBMS_OUTPUT.PUT_LINE('Vise radnika ima u odeljenju Sales ');
END IF;

END

3. Da li postoji clan koji nikad nije pozajmio knjigu

DECLARE
v_broj1 NUMBER(1);
v_broj2 NUMBER(1);
BEGIN
SELECT COUNT (DISTINCT P.SifC)
INTO v_broj1
FROM Pozajmica P JOIN Clan C ON (P.SifC=C.SifC);
SELECT COUNT (SifC)
INTO v_broj2
FROM Clan;
IF v_broj1=v_broj2 THEN
DBMS_OUTPUT.PUT_LINE('Svi clanovi su nekad pozajmili knjigu ');
ELSE
DBMS_OUTPUT.PUT_LINE('Postoji clan koji nikad nije pozajmio knjigu ');
END IF;
END;

4. Zadatak sa pravljenjem tabele i proveravanjem promena

CREATE TABLE copy_emp


AS SELECT *
FROM employees;

DECLARE
vBrZap50 NUMBER(2);

BEGIN

SELECT COUNT(employee_id)
INTO vBrZap50
FROM employees
WHERE department_id='50';
DBMS_OUTPUT.PUT_LINE('Prva select naredba, SQL%ROWCOUNT: ' || SQL%ROWCOUNT);

UPDATE employees
SET salary=salary*1.1
WHERE department_id='50';
DBMS_OUTPUT.PUT_LINE('Update naredba, SQL%ROWCOUNT: ' || SQL%ROWCOUNT);

DELETE
FROM copy_emp
WHERE department_id='50';
DBMS_OUTPUT.PUT_LINE('Delete naredba, SQL%ROWCOUNT: ' || SQL%ROWCOUNT);

SELECT COUNT(employee_id)
INTO vBrZap50
FROM employees
WHERE department_id='50';
DBMS_OUTPUT.PUT_LINE('Druga select naredba, SQL%ROWCOUNT: ' || SQL%ROWCOUNT);

END;

5. Koji od dva naslova je vise pozajmljivam

DECLARE
v_PJC NUMBER(1);
V_PP NUMBER(1);

BEGIN

SELECT COUNT(SifP)
INTO V_PJC
FROM Pozajmica P JOIN Knjiga K ON (P.SifK=K.SifK)
JOIN Naslov N ON (K.SifN=N.SifN)
WHERE Naziv='Programski jezik C';

SELECT COUNT(SifP)
INTO V_PP
FROM Pozajmica P JOIN Knjiga K ON (P.SifK=K.SifK)
JOIN Naslov N ON (K.SifN=N.SifN)
WHERE Naziv='PASCAL programiranje';
IF V_PJC>V_PP THEN
DBMS_OUTPUT.PUT_LINE('Vise puta je pozajmljen programski jezik C ');
ELSIF V_PP>V_PJC THEN
DBMS_OUTPUT.PUT_LINE('Vise puta je pozajmljeno PASCAL programiraneje ');
ELSE
DBMS_OUTPUT.PUT_LINE('Isto puta su pozajmljeni ');
END IF;
END

6. Maksimalan broj poslova i osoba sa maksimalnim brojem

DECLARE
v_br1 NUMBER(1);
v_br2 NUMBER(1);
v_br3 NUMBER(1);
v_maks NUMBER(1);
BEGIN
SELECT COUNT(j.job_id)
INTO v_br1
FROM employees e JOIN job_history j ON (e.employee_id=j.employee_id)
WHERE First_name='Neena' AND Last_name='Kochhar';

SELECT COUNT(j.job_id)
INTO v_br2
FROM employees e JOIN job_history j ON (e.employee_id=j.employee_id)
WHERE First_name='Lex' AND Last_name='De Haan';

SELECT COUNT(j.job_id)
INTO v_br3
FROM employees e JOIN job_history j ON (e.employee_id=j.employee_id)
WHERE First_name='Jelena' AND Last_name='Duric';

DBMS_OUTPUT.PUT_LINE('Najveci broj prethodnih poslova imaju ');


IF v_br1>=v_br2 AND v_br1>=v_br3 THEN
DBMS_OUTPUT.PUT_LINE('Neena Kochhar ');
v_maks:=v_br1;
END IF;
IF v_br2>=v_br1 AND v_br2>=v_br3 THEN
DBMS_OUTPUT.PUT_LINE('Lex De Haan ');
v_maks:=v_br2;
END IF;
IF v_br3>=v_br1 AND v_br3>=v_br2 THEN
DBMS_OUTPUT.PUT_LINE('Jelena Duric ');
v_maks:=v_br3;
END IF;

DBMS_OUTPUT.PUT_LINE('Najveci broj poslova iznosi ' || v_maks);

END

7. Koliko radniku treba da se poveca plata da bi bila ista kao i njegovom


menadzeru

DECLARE
v_plata NUMBER(10);
v_plataUpravnika NUMBER(10);
v_id VARCHAR2(10);
v_razlika NUMBER(10);
BEGIN
SELECT e.salary, d.manager_id
INTO v_plata, v_id
FROM employees e JOIN departments d ON (e.department_id=d.department_id)
WHERE First_name='Matthias' AND Last_name='Reinhard';

SELECT salary
INTO v_plataUpravnika
FROM employees
WHERE employee_id=v_id;

IF v_plataUpravnika>v_plata THEN
v_razlika:=v_plataUpravnika-v_plata;
DBMS_OUTPUT.PUT_LINE('Plata treba da mu se poveca za ' || v_razlika);
ELSE
v_razlika:=v_plata-v_plataUpravnika;
DBMS_OUTPUT.PUT_LINE('Plata treba da mu se smanji za ' || v_razlika);
END IF;

END

You might also like