--Aufgabe no1
DECLARE
anzahl NUMBER := 17;
BEGIN
dbms_output.put_line(anzahl);
END;
--Aufgabe no2
DECLARE
anz_1 NUMBER(38,2) := 1234.145;
anz_2 NUMBER(38) := 1234567812345;
BEGIN
dbms_output.put_line(anz_1 || ' / ' || anz_2);
END;
--Aufgabe no3
DECLARE
text varchar2(255) := 'Wir lernen PL/SQL';
BEGIN
FOR i IN 1..3 loop
dbms_output.put_line(text);
END loop;
END;
--Aufgabe no4
DECLARE
var_val kunden.k_id%TYPE;
BEGIN
var_val := 1337;
dbms_output.put_line(var_val);
END;
--Aufgabe no5
DECLARE
cursor c1 IS SELECT COUNT(*) FROM KUNDEN;
zahl NUMBER := 0;
BEGIN
OPEN c1;
loop
IF c1%NOTFOUND THEN
exit;
END IF;
fetch c1 INTO zahl;
dbms_output.Put_line(zahl);
END loop;
CLOSE c1;
END;
--Aufgabe no6
DECLARE
b NUMBER := 7;
l NUMBER := 12;
erg NUMBER := 0;
BEGIN
erg := (b * l) / 2;
dbms_output.put_line(erg);
END;
--aufgabe no7
DECLARE
datum DATE := sysdate;
BEGIN
dbms_output.put_line(datum);
END;
--aufgabe no8
DECLARE
std varchar2(255) := to_char(sysdate, 'hh24');
mi varchar2(255) := to_char(sysdate, 'mi');
ss varchar2(255) := to_char(sysdate, 'ss');
BEGIN
dbms_output.Put_line(std || ':' || mi || ':' || ss);
END;
--Aufgabe no9
DECLARE
pi CONSTANT NUMBER := 3.41;
r NUMBER := &ZAHL;
a_erg NUMBER := 0;
u_erg NUMBER := 0;
BEGIN
--A = PI * R² // U = 2 * PI * R
a_erg := pi * (r * r);
u_erg := 2 * pi * r;
dbms_output.put_line('Fläche: ' || a_erg || ', Umfang: ' || u_erg);
END;
-- Aufgabe no10
DECLARE
var_1 NUMBER := 10;
BEGIN
IF var_1 = 10 THEN
dbms_output.put_line('Jup');
ELSE
dbms_output.put_line('Nope');
END IF;
END;
--aufgabe no11
DECLARE
einstellungsdatum DATE := sysdate - 2500;
cursor c1 IS SELECT * FROM employee;
c2 c1%rowtype;
BEGIN
OPEN c1;
loop
fetch c1 INTO c2;
exit WHEN c1%NOTFOUND;
IF c2.e_bday BETWEEN c2.e_bday AND ADD_MONTHS(c2.e_bday, 3) THEN
dbms_output.put_line(c2.e_name || ', Months: ' || ROUND(MONTHS_BETWEEN(sysdate, c2.e_bday)));
ELSIF c2.e_bday BETWEEN c2.e_bday AND ADD_MONTHS(c2.e_bday, 120) THEN
dbms_output.put_line(c2.e_name || ', Months: ' || ROUND(MONTHS_BETWEEN(sysdate, c2.e_bday)));
ELSIF c2.e_bday BETWEEN c2.e_bday AND ADD_MONTHS(c2.e_bday, 120) THEN
dbms_output.put_line(c2.e_name || ', Months: ' || ROUND(MONTHS_BETWEEN(sysdate, c2.e_bday)));
ELSE
dbms_output.put_line(c2.e_name || ', ' || 'SONSTIGE');
END IF;
END loop;
CLOSE c1;
END;
Comments