INSERT INTO personal SELECT employee_id, first_name, last_name, salary, manager_id FROM employees;
DECLARE
v_persnr personal.persnr%TYPE;
v_myfirstname CONSTANT VARCHAR2(20) := 'Wen Chao';
v_mylastname CONSTANT VARCHAR2(20) := 'Chen';
v_chefnrcount NUMBER(4,0);
v_nochefname VARCHAR2(50);
v_newchefnr personal.chefnr%TYPE;
v_gehaltsum personal.gehalt%TYPE;
v_lesswage NUMBER(4,0);
BEGIN
FOR i IN 1 .. 3 LOOP
SELECT MAX(persnr) INTO v_persnr FROM personal;
v_persnr := v_persnr + 1;
INSERT INTO personal(persnr, vorname, nachname) VALUES(v_persnr, v_myfirstname, v_mylastname);
END LOOP;
IF v_chefnrcount = 1 THEN
SELECT nachname INTO v_nochefname FROM personal WHERE chefnr = NULL;
DBMS_OUTPUT.PUT_LINE('Mitarbeiter' || v_nochefname || 'hat keinen Chef');
ELSIF v_chefnrcount > 1 THEN
DBMS_OUTPUT.PUT_LINE('zuviele Chefs');
ELSE DBMS_OUTPUT.PUT_LINE('nur Mitarbeiter ohne Chef');
END IF;
SAVEPOINT sp1;
ROLLBACK to sp1;
SELECT COUNT(gehalt) INTO v_lesswage FROM personal WHERE gehalt < 5000;
DBMS_OUTPUT.PUT_LINE('Anzahl der Personen, die weniger als 5000 verdienen: ' || v_lesswage);
COMMIT;
END;