• Nie Znaleziono Wyników

np.: nazwisko VARCHAR2(30

N/A
N/A
Protected

Academic year: 2021

Share "np.: nazwisko VARCHAR2(30"

Copied!
1
0
0

Pełen tekst

(1)

PL/SQL

Blok PL/SQL:

DECLARE deklaracje BEGIN

instrukcje EXCEPTION

obsługa wyjątków END;

Deklaracje zmiennych:

Identyfikator TYP [NOT NULL] [:=wyrażenie];

np.: nazwisko VARCHAR2(30) := ‘Kowalski’;

SELECT w PL/SQL:

SELECT wyrażenie1, wyrażenie2, ...

INTO zmienna1, zmienna2, ...

FROM ...

Zapytanie musi zwracać 1 wiersz.

Warunki:

IF warunek THEN instrukcje ELSIF warunek THEN

instrukcje ELSE

instrukcje END IF;

Włączenie wyświetlania komunikatów:

SET ServerOutput ON Wyświetlenie komunikatu:

DBMS_OUTPUT.PUT_LINE(napis);

Wywołanie błędu:

Np. raise_application_error(-20500, ‘komunikat’);

Zmienne systemowe:

SQL%ROWCOUNT - ilość zwróconych wierszy

(2)

SQL%FOUND - czy zapytanie zwróciło wiersz

SQLERRM - komunikat o błędzie

Uruchomienie procedury:

EXECUTE procedura (parametry) Zmienne typu wiersza i kolumny:

zmienna emp.ename%type - zmienna tego samego typu co ename zmienna emp%rowtype - zmienna typu wierszowego

Deklaracja i użycie kursora:

W DECLARE:

CURSOR nazwa IS SELECT ...

Po BEGIN:

OPEN nazwa; - otwarcie kursora

FETCH nazwa INTO zmienna; - ściągnięcie kolejnego wiersza

CLOSE nazwa; - zamknięcie kursora

Kursorów używamy zwykle w pętli np.:

LOOP

FETCH nazwa INTO zmienna;

EXIT WHEN nazwa%NOTFOUND;

...

END LOOP;

Atrybuty kursora:

nazwa%FOUND - ostatnia instrukcja FETCH zwróciła wiersz nazwa%NOTFOUND - ostatnia instrukcja FETCH nie zwróciła wiersza nazwa%ROWCOUNT - ilość zwróconych dotychczas wierszy

nazwa%ISOPEN - określa, czy kursor jest otwarty Procedury:

CREATE [OR REPLACE] PROCEDURE nazwa (par [IN/OUT/INOUT] TYP, ...) AS deklaracje

BEGIN

kod procedury END;

Funkcje:

CREATE [OR REPLACE] FUNCTION nazwa (par [IN/OUT/INOUT] TYP, ...) RETURN TYP AS

deklaracje BEGIN

kod funkcji

(3)

RETURN wyrażenie;

END;

Wyzwalacze:

CREATE [OR REPLACE] TRIGGER nazwa {BEFORE / AFTER} specyfikacja instrukcji ON tabela

[FOR EACH ROW]

blok PL/SQL Specyfikacje instrukcji:

INSERT, DELETE, UPDATE

Można je łączyć np. BEFORE INSERT OR UPDATE

Dla UPDATE można określić pola, których modyfikowanie spowoduje uruchomienie triggera np. UPDATE OF pole1, pole2

Odwołanie do starej/nowej wartości w wyzwalaczu:

:OLD.pole :NEW.pole

Zmienne logiczne określające, co spowodowało uruchomienie wyzwalacza:

UPDATING, INSERTING, DELETING Tworzenie sekwensji:

CREATE SEQUENCE nazwa_sekwencji [INCREMENT BY k]

[START WITH n]

Bieżąca i kolejna wartości sekwencji:

nazwa_sekwencji.currval nazwa_sekwencji.nextval

Cytaty

Powiązane dokumenty

Ocena działania uczulającego (ze względu na brak składników uczulających) wskazuję, że produkt nie działa uczulająco na drogi oddechowe i skórę. e) Działanie mutagenne

zmieniające rozporządzenie (WE) nr 1907/2006 Parlamentu Europejskiego i Rady w sprawie rejestracji, oceny, udzielania zezwoleń i stosowanych ograniczeń w zakresie chemikaliów

11. W przypadku oferowania nieodpowiedniego jakościowo produktu Wykonawca, którego oferta zostanie wybrana w niniejszym postępowaniu zobowiązany będzie do jego

Warunki gwarancji  Min. 36 miesięcy od daty dostawy w miejscu instalacji komputera.  Serwis urządzeń musi być realizowany zgodnie z zaleceniami gwarancyjnymi

Liczba obiektów wprowadzonych do Bazy inwentaryzacji ogrzewania budynków w Małopolsce w roku sprawozdawczym z wymianą źródła ciepła (informacja wymagana w celu weryfikacji

- wieko – tektura lita 1,5 mm oklejana wydrukiem (zdjęcie dedykowane) - wydruk offsetowy 4+0 CMYK, kreda 130, folia błysk. - dno – mikrofala jednostronnie bielona

402 3 § 1 pkt 5, § 3 Kodeksu Spółek Handlowych w celu umożliwienia oddania głosu przez pełnomocnika na Nadzwyczajnym Walnym Zgromadzeniu Akcjonariuszy Przedsiębiorstwa

ZIEMNIAKI, typu Irga, Irys, konsumpcyjne, umyte, bulwy o jednolitym miąższu barwy kremowej, nie dopuszcza się ziemniaków zaparzonych, zwiędniętych, zapleśniałych, o