Untitled

 avatar
unknown
plain_text
5 months ago
2.9 kB
5
Indexable
#zad1
DECLARE
vLiczba NUMBER(15,3) := 1000.456;
vTekst VARCHAR(1000) := 'Witaj, świecie!';
BEGIN
 vLiczba := vLiczba + 1000000000000000 


 DBMS_OUTPUT.PUT_LINE(vLiczba);
 DBMS_OUTPUT.PUT_LINE(vTekst);
END;

#zad2
DECLARE
vLiczba NUMBER(19,3) := 1000.456;
vTekst VARCHAR(1000) := 'Witaj, świecie!';
BEGIN
 vLiczba := vLiczba + 1000000000000000;
 vTekst := vTekst || ' Witaj, nowy dniu!';
 DBMS_OUTPUT.PUT_LINE(vLiczba);
 DBMS_OUTPUT.PUT_LINE(vTekst);
END;

#zad3
DECLARE
vLiczba NUMBER(19,10) := 10.2356000;
vLiczba2 NUMBER(19,10) := 0.0000001;
vWynik NUMBER(19,10);
BEGIN
 vWynik := vLiczba + vLiczba2;
 DBMS_OUTPUT.PUT_LINE(vWynik);
END;

#zad4
DECLARE
cPI CONSTANT NUMBER(3,2) := 3.14;
vPromien NUMBER(19,10) := 5;
vPole NUMBER(19,10);
vObw NUMBER(19,10);
BEGIN
 vPole := cPI * vPromien * vPromien;
 vObw := 2 * vPromien * cPI;
 DBMS_OUTPUT.PUT_LINE(vObw);
 DBMS_OUTPUT.PUT_LINE(vPole);
END;

#zad5
DECLARE
tabNazwisko Pracownicy.nazwisko%TYPE;
tabEtat Pracownicy.etat%TYPE;
BEGIN
SELECT etat, nazwisko 
INTO tabEtat, tabNazwisko
FROM PRACOWNICY
WHERE  PLACA_POD = (Select max(PLACA_POD) FROM PRACOWNICY);
DBMS_OUTPUT.PUT_LINE(tabNazwisko);
DBMS_OUTPUT.PUT_LINE(tabEtat);
END;

#zad6
DECLARE
TYPE tDane IS RECORD (
 nazwisko Pracownicy.nazwisko%TYPE,
 etat Pracownicy.etat%TYPE);
vPracownik tDane;
BEGIN
SELECT etat, nazwisko 
INTO vPracownik
FROM PRACOWNICY
WHERE  PLACA_POD = (Select max(PLACA_POD) FROM PRACOWNICY);
DBMS_OUTPUT.PUT_LINE(vPracownik.nazwisko);
DBMS_OUTPUT.PUT_LINE(vPracownik.etat);
END;

#zad7
DECLARE
SUBTYPE tPieniadze IS NUMBER(7,2);
vPieniadze tPieniadze;
BEGIN
SELECT PLACA_POD 
INTO vPieniadze
FROM PRACOWNICY
WHERE  NAZWISKO = 'SLOWINSKI';
vPieniadze := vPieniadze * 12;
DBMS_OUTPUT.PUT_LINE(vPieniadze);
END;

#zad8
BEGIN
 LOOP
 IF (TO_CHAR(SYSDATE, 'SS')) = '25' THEN
 EXIT;
 END IF;
 END LOOP;
DBMS_OUTPUT.PUT_LINE('Nadeszła 25 sekunda!');
END;

#zad9
DECLARE
vN NATURAL := 5;
vSilnia NATURAL := 1;
vLicznik NATURAL := 0;
BEGIN
WHILE vLicznik < vN LOOP
 vLicznik := vLicznik + 1;
 vSilnia := vSilnia * vLicznik;
END LOOP;
 DBMS_OUTPUT.PUT_LINE(vSilnia);
END;

#zad10
declare
      start_date   date := to_date('05.01.2001', 'dd.MM.yyyy');
      end_date     date := to_date('31.12.2100', 'dd.mm.yyyy');
      active_date  date;
      start_number number;
      end_number   number;
    begin
      start_number := to_number(to_char(start_date, 'j'));
      end_number   := to_number(to_char(end_date, 'j'));
     active_date  := start_date;
 
     for cur_r in start_number..end_number
     loop
        IF  ( to_char(active_date, 'dd')) = 13 THEN
        dbms_output.put_line( to_char(active_date, 'dd.mm.yyyy'));
        END IF;
      active_date := trunc(active_date) + 7;
     end loop;
     commit;
   end;
Editor is loading...
Leave a Comment