Beruflich Dokumente
Kultur Dokumente
PL/SQL EXEMPLE
1.
DROP TABLE angajati;
CREATE TABLE angajati (
coda NUMBER (4) CONSTRAINT pk_coda PRIMARY KEY,
nume VARCHAR2(15),
pren VARCHAR2(15),
orel NUMBER (3),
bonus NUMBER(5,2),
salar NUMBER(6));
DECLARE
v_salar NUMBER;
v_ore_lucrate NUMBER := 40;
v_salar_orar NUMBER := 22.50;
v_bonus NUMBER := 150;
v_ang1 angajati%ROWTYPE;
BEGIN
v_salar := (v_ore_lucrate * v_salar_orar) + v_bonus;
v_ang1.pren := 'Ion';
v_ang1.nume := 'POP';
DBMS_OUTPUT.PUT_LINE ('Nume'||' '||'Prenume'||' '||'Salar');
DBMS_OUTPUT.PUT_LINE (v_ang1.nume||' '||v_ang1.pren||' '||v_salar);
END;
2.
DECLARE
x NUMBER(7,2);
BEGIN
SELECT sal INTO x FROM emp WHERE empno = 7788;
IF x < 3000 THEN UPDATE emp SET sal = 3000
WHERE empno = 7788;
END IF;
END;
3.
SET SERVEROUTPUT ON;
DECLARE
grade CHAR(1);
BEGIN
grade := 'B';
CASE
WHEN grade = 'A' THEN DBMS_OUTPUT.PUT_LINE('Excellent');
WHEN grade = 'B' THEN DBMS_OUTPUT.PUT_LINE('Very Good');
WHEN grade = 'C' THEN DBMS_OUTPUT.PUT_LINE('Good');
WHEN grade = 'D' THEN DBMS_OUTPUT.PUT_LINE('Fair');
WHEN grade = 'F' THEN DBMS_OUTPUT.PUT_LINE('Poor');
ELSE DBMS_OUTPUT.PUT_LINE('No such grade');
END CASE;
END;
4.
SET SERVEROUTPUT ON;
DECLARE
grade CHAR(1);
1
BEGIN
grade := 'B';
CASE grade
WHEN 'A' THEN DBMS_OUTPUT.PUT_LINE('Excellent');
WHEN 'B' THEN DBMS_OUTPUT.PUT_LINE('Very Good');
WHEN 'C' THEN DBMS_OUTPUT.PUT_LINE('Good');
WHEN 'D' THEN DBMS_OUTPUT.PUT_LINE('Fair');
WHEN 'F' THEN DBMS_OUTPUT.PUT_LINE('Poor');
ELSE DBMS_OUTPUT.PUT_LINE('No such grade');
END CASE;
END;
5.
SET SERVEROUTPUT ON;
DECLARE someone emp%ROWTYPE;
BEGIN
FOR someone IN (SELECT * FROM emp WHERE empno < 7900 )
LOOP
DBMS_OUTPUT.PUT_LINE('name = ' || someone.ename ||
', job = ' || someone.job);
END LOOP;
END;
6.