Untitled

 avatar
unknown
plain_text
5 months ago
3.1 kB
1
Indexable
1.
DECLARE
vTekst VARCHAR(50) := 'Witaj, świecie!';
vLiczba NUMBER := 1000.456;
BEGIN
    DBMS_OUTPUT.PUT_LINE('Wartość vTekst: ' || vTekst);
    DBMS_OUTPUT.PUT_LINE('Wartość vLiczba: ' || vLiczba);
END;

2.
DECLARE
vTekst VARCHAR(50) := 'Witaj, świecie! ';
vLiczba NUMBER := 1000.456;
BEGIN
    vTekst := vTekst || 'Witaj nowy dniu!';
    vLiczba := vLiczba + POWER(10,15);
    DBMS_OUTPUT.PUT_LINE('Wartość vTekst: ' || vTekst);
    DBMS_OUTPUT.PUT_LINE('Wartość vLiczba: ' || vLiczba);
END;

3.
DECLARE
L1 NUMBER := 10.2356000;
L2 NUMBER :=  0.0000001;
BEGIN
    L1:=L1+L2;
    DBMS_OUTPUT.PUT_LINE('Wynik dodawania '|| L1 || ' i ' || L2 || + ': ' || L1);
END;

4. 
DECLARE
cPI NUMBER := 3.14;
cR NUMBER :=  5;
cPole NUMBER := 0;
cObwod NUMBER := 0;
BEGIN
    cPole:=cR*cR*cPI;
    cObwod:=2*cPI*cR;
    DBMS_OUTPUT.PUT_LINE('Pole koła o promieniu równym '|| cR || ' : '|| cPole);
    DBMS_OUTPUT.PUT_LINE('Obwód koła o promieniu równym '|| cR || ' : '|| cObwod);
END;

5.
DECLARE
vNazwisko Pracownicy.nazwisko%TYPE;
vEtat Pracownicy.etat%TYPE;
BEGIN
    SELECT nazwisko, etat 
    INTO vNazwisko, vEtat 
    FROM Pracownicy
    WHERE (placa_pod+placa_dod) = (
        SELECT MAX(placa_pod+placa_dod) 
    FROM PRACOWNICY);
    DBMS_OUTPUT.PUT_LINE('Najlepiej zarabia pracownik: '|| vNazwisko);
    DBMS_OUTPUT.PUT_LINE('Pracuje on jako '|| vEtat);
END;

6.
DECLARE
vPracownik Pracownicy%ROWTYPE;
BEGIN
    SELECT *
    INTO vPracownik 
    FROM Pracownicy
    WHERE (placa_pod+placa_dod) = (
        SELECT MAX(placa_pod+placa_dod) 
    FROM PRACOWNICY);
    DBMS_OUTPUT.PUT_LINE('Najlepiej zarabia pracownik: '|| vPracownik.nazwisko);
    DBMS_OUTPUT.PUT_LINE('Pracuje on jako '|| vPracownik.Etat);
END;

7.
DECLARE
SUBTYPE tPieniadze IS NUMBER;
vZarobki tPieniadze;
BEGIN
    SELECT (placa_pod+NVL(placa_dod,0))*12 INTO vZarobki
    FROM Pracownicy
    WHERE NAZWISKO='SLOWINSKI';
    DBMS_OUTPUT.PUT_LINE('Roczne zarobki prof. Słowińskiego:  '|| vZarobki);
END;

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

9.
DECLARE
vN NUMBER := 10;
vSilnia NUMBER := 1;
vLicznik NUMBER := 0;
BEGIN
WHILE vLicznik < vN LOOP
 vLicznik := vLicznik + 1;
 vSilnia := vSilnia * vLicznik;
END LOOP;
 DBMS_OUTPUT.PUT_LINE('Silnia dla n=10: '||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