Procedury składowane. Funkcje vs. procedury Funkcja. Procedura. zazwyczaj ma parametry tylko typu IN; można wywoływać z poziomu

Wielkość: px
Rozpocząć pokaz od strony:

Download "Procedury składowane. Funkcje vs. procedury Funkcja. Procedura. zazwyczaj ma parametry tylko typu IN; można wywoływać z poziomu"

Transkrypt

1 Procedury składowane Kolejnym typem programu języka PL/SQL są procedury składowane. Procedury mogą posiadać parametry typu IN, OUT lub IN OUT. Umożliwiają wykonanie operacji na danych w bazie, mogą też służyć do wybierania danych. CREATE PROCEDURE nazwa_procedury(lista parametrów) IS deklaracje zmiennych blok poleceń Procedury z poziomu SQL wywołujemy poleceniem EXECUTE. CREATE OR REPLACE PROCEDURE wypiszkraj(nr IN INT) is CURSOR kraje2(id INT) IS SELECT * FROM countries WHERE region_id =id; FOR kraj IN kraje2(nr) loop Dbms_Output.put_line(kraj.country_name); END LOOP; CREATE OR REPLACE PROCEDURE wypiszkraj(nr IN INT) is CURSOR kraje2(id INT) IS SELECT * FROM countries WHERE region_id =id; FOR kraj IN kraje2(nr) loop Dbms_Output.put_line(kraj.country_name); END LOOP; Wywołanie procedury z poziomu SQL: EXECUTE wypiszkraj(2); Z innego podprogramu: DECLARE nr INT; nr:=1; wypiszkraj(nr); Funkcje vs. procedury Funkcja musi zwracać wartość (należy użyć RETURN); zazwyczaj ma parametry tylko typu IN; można wywoływać z poziomu zapytań SQL, np.select srednia(1,3) FROM dual; można wywoływać w kodzie innych podprogramów, ale wtedy zawsze musimy ją przypisać do zmiennej lub parametru, np. DECLARE i number; i:=srednia(1,4); Procedura może zwracać wartości; może mieć parametry typu IN, OUT, IN OUT; wywołanie w SQL przez EXECUTE; EXECUTE wypiszkraj(3); można wywoływać w kodzie innych podprogramów, np. DECLARE nr INT; nr:=1; wypiszkraj(nr);

2 Użycie parametrów w procedurach Procedury mogą (i zazwyczaj mają) parametry. Wyróżniamy trzy typy parametrów: IN - parametr tylko do odczytu (read-only), służy do przekazania danych do funkcji lub procedury; w trakcie działania procedury nie można zmieniać wartości tego parametru; o ile nie podamy wartości domyślnej dla danego parametru, musimy podać jego wartość wywołując procedurę; OUT - parametr wyjściowy (write-only), umożliwia zwrócenie danych przez program; ma wartość NULL do momentu zainicjalizowania; nie ma możliwości przypisania DEFAULT; wywołując procedurę, nie możemy przypisać stałej tego parametru; IN OUT - parametr wejściowo/wyjściowy (read-write); podczas wywoływania programu służy do przekazania do niego danych, umożliwia zwrócenie danych; używamy, gdy dane wejściowe mają zostać zmienione podczas działania programu; nie ma możliwości przypisania DEFAULT; wywołując procedurę, nie możemy przypisać stałej tego parametru. Podczas wywoływania procedury (funkcji), która ma kilka parametrów wejściowych, dla każdego z tych parametrów, który nie ma określonej wartości domyślnej, należy podać wartość. Jeżeli chcemy pominąć niektóre parametry, to można wówczas podczas wywoływania procedury (funkcji) określić, z którymi parametrami dana procedura została wywołana. Mamy do dyspozycji trzy notacje: pozycyjną, nazwaną i mieszaną. Podczas wywoływania procedury (funkcji), która ma kilka parametrów wejściowych, dla każdego z tych parametrów, który nie ma określonej wartości domyślnej, należy podać wartość. Jeżeli chcemy pominąć niektóre parametry, to można wówczas podczas wywoływania procedury (funkcji) określić, z którymi parametrami dana procedura została wywołana. Mamy do dyspozycji trzy notacje: pozycyjną, nazwaną i mieszaną. CREATE OR REPLACE FUNCTION suma (a INT :=0, b INT :=0, c INT :0) RETURN INT AS RETURN a+b/2+c/4; Podczas wywoływania procedury (funkcji), która ma kilka parametrów wejściowych, dla każdego z tych parametrów, który nie ma określonej wartości domyślnej, należy podać wartość. Jeżeli chcemy pominąć niektóre parametry, to można wówczas podczas wywoływania procedury (funkcji) określić, z którymi parametrami dana procedura została wywołana. Mamy do dyspozycji trzy notacje: pozycyjną, nazwaną i mieszaną. CREATE OR REPLACE FUNCTION suma (a INT :=0, b INT :=0, c INT :0) RETURN INT AS RETURN a+b/2+c/4; Wywołanie funkcji w SELECT: select suma(1,2,8) from dual; //a=1,b=2,c=8 select suma(1,4) from dual; //a=1,b=4 select suma(c=>8,a=>2,b=>6) from dual; select suma(1,c=>4) from dual; // a=1, c=4

3 Wywoływanie procedur i funkcji w odrębnej transakcji Domyślnie, funkcje i procedury działają w obrębie tej samej transakcji, co polecenie lub program je wywołujący. Można także ustawić funkcje i procedury tak, aby były wykonywane w obrębie autonomicznej, lokalnej transakcji. Taka transakcja może być zatwierdzona niezależnie od transakcji programu wywołującego. W ten sposób wszystkie zmiany wprowadzone przez funkcję/procedurę zostają zatwierdzone, bez względu na to, co wykona się w programie wywołującym. Uwaga. działanie to jest pożądane, jeżeli chcemy aby pewne zmiany zostały zatwierdzone, niezależnie od tego, czy coś innego się powiedzie. Może jednak doprowadzić do tego, że zatwierdzimy zmiany, które nie powinny zostać w danej sytuacji zatwierdzone. Aby określić, że procedura/funkcja ma być wykonywana w autonomicznej transakcji, używamy dyrektywy PRAGMA AUTONOMOUS_TRANSACTION. Do zarządzania autonomiczną transakcją wykorzystujemy COMMIT, ROLLBACK i SAVEPOINT. CREATE OR REPLACE FUNCTION dodaj_kraj (vcountry_id CHAR, vcountry_name VARCHAR2, vregion_id NUMBER ) RETURN BOOLEAN IS -ustawiamy funkcję aby wykonywała się w autonomicznej transakcji PRAGMA autonomous_transaction; -ustawiamy domyślny wynik wynik BOOLEAN :=FALSE; INSERT INTO countries VALUES(vcountry_id, vcountry_name, vregion_id); -zatwierdzamy lokalną transakcję COMMIT; wynik:=true; RETURN wynik; Sekwencje Wywołanie funkcji dodaj_kraj w bloku anonimowym: IF dodaj_kraj( PL, Polska,1) THEN Dbms_Output.put_line( wiersz wstawiony ); ROLLBACK;-bez wpływu na wstawiony wiersz! ELSE Dbms_Output.put_line( wiersz nie wstawiony ); END IF; Sekwencje w bazie Oracle to mechanizmy umożliwiające generowanie kolejnych wartości liczbowych. Instrukcja tworząca sekwencję: CREATE SEQUENCE nazwa INCREMENT BY liczba START WITH liczba Znaczenie opcji INCREMENT BY liczba skok sekwencji (domyślnie 1), START WITH liczba wartość początkowa (domyślnie 1). Metody sekwencji: CURRVAL pobranie bieżącej wartości, NEXTVAL pobranie następnej wartości.

4 Sekwencje Sekwencje Definiujemy sekwencję dla klucza głównego emp_no tabeli employee: CREATE SEQUENCE emp_no_seq INCREMENT BY 1 START WITH 200 Wykorzystanie sekwencji: INSERT INTO employee (emp_no, first_name, last_name, salary, dept_no, hire_date, job_code, job_grade, job_country) VALUES(emp_no_seq.NEXTVAL, Anna, Kowalska,5000, 000,sysdate, Admin,4, USA ); Każde wywołanie metody NEXTVAL powoduje zwiększenie wartości sekwencji o zadany skok. Jeżeli wartość ta nie zostanie wykorzystana, np. z powodu błędu w instrukcji INSERT, wycofania transakcji, zostaje utracona. Przy następnym wywołaniu NEXTVAL zwraca kolejną wartość. Jedną sekwencję można wykorzystywać do generowania wartości kluczy głównych w kilku tabelach. Metoda CURRVAL nie zmienia wartości sekwencji, a jedynie zwraca bieżącą. Uwaga. Metodę CURRVAL można stosować dopiero po pobraniu pierwszej wartości z sekwencji za pomocą NEXTVAL. Wyjatki Typy wyjatków Wyjątki błędy pojawiające się podczas uruchomienia bloku. W momencie wystąpienia wyjątku blok kończy działanie. Obsługując wyjątek można wykonać pewne działania przed końcem wykonania bloku. Typy wyjatków: predefiniowane (np. NO_DATA_FOUND, ZERO_DIVIDE) oraz niepredefiniowane błędy serwera Oracle; Z każdym takim wyjątkiem związany jest kod błędu (SQLCODE) oraz komunikat (SQLERRM), który opisuje błąd (zawiera też kod błędu). wywoływane przez użytkownika za pomocą RAISE nazwa, gdzie nazwa została zdefiniowana jako wyjątek z dodaną obsługą. Etapy obsługi wyjątków: Deklaracja (jawna lub niejawna). Wywołanie wyjątku (jawne lub niejawne). Obsługa wyjątku (jawna lub niejawna) Predefiniowany błąd serwera Oracle. Jeden z wyjątków (około 20) które pojawiają się najczęściej w PL/SQL. Wyjątków predefiniowanych nie trzeba ani deklarować ani zgłaszać. Oracle sam definiuje obsługę. Niepredefiniowany błąd serwera Oracle. Inny standardowy błąd serwera. Obsługa powinna być zdefiniowana. Błędy zdefiniowane przez użytkownika. Konieczna deklaracja wyjątku oraz wywołanie za pomocą RAISE.

5 Obsługa wyjatków sekcja EXCEPTION bloku DECLARE EXCEPTION WHEN wyjatek1 [OR wyjatek2 ] THEN instrukcje; WHEN wyjatek3 [OR wyjatek4 ] THEN instrukcje; WHEN OTHERS THEN instrukcje; Predefiniowane wyjatki Oracle Wyjątek Numer błędu Opis CASE_NOT_FOUND ORA Brak spełnienia jednego z warunków CASE CURSOR_ALREADY ORA Kursor został już otwarty _OPENED (przy próbie otwarcia) DUP_VAL ORA Powtarzająca się wartość _ON_INDEX klucza głównego INVALID_NUMBER ORA Zły typ danych przy konwersji NO_DATA_FOUND ORA Brak wyników z SELECT ROWTYPE ORA Różne typy dla przypisywanych _MISMATCH wartości STORAGE_ERROR ORA Nie ma pamięci do operacji TOO_MANY_ROWS ORA Zbyt wiele wierszy zwróconych z zapytania VALUE_ERROR ORA Błąd związany z liczbami (np. konwersja) ZERO_DIVIDE ORA Próba dzielenia przez 0 Wyjatki użytkownika Związane tylko z danym programem PL/SQL. Nie są skojarzone z żadnym numerem błędu ani komunikatem. Proces tworzenia i obsługi wyjątków: Deklaracja zmiennej typu EXCEPTION (w sekcji DECLARE); nazwa EXCEPTION Wywołanie wyjątku w wyniku instrukcji RAISE (w sekcji instrukcji wykonywalnych); RAISE nazwa Zdefiniowanie obsługi błędu dla zadeklarowanej zmiennej (w sekcji EXCEPTION). WHEN nazwa THEN W Oracle mamy możliwość tworzenia nowych błędów z własnym kodem i opisem. Używamy w tym celu procedury RAISE_APPLICATION_ERROR( err_no number, err_msg varchar2, keep_errors boolean) err_no numer z przedziału [-20000, ] err_msg napis o długości <512 keep_errors, jeżeli true, to nowy błąd zostanie dopisany do listy już zdefiniowanych błędów, jeżeli false (wartość domyślna), to nowy błąd zastąpi listę już zgłoszonych błędów. ProceduraRAISE_APPLICATION_ERROR powoduje zatrzymanie działania programu. Pozwala stworzyć zestaw komunikatów dopasowany do danej aplikacji.

6 Niepredefiniowane błędy Oracle Wyjatki Oracle Przykłady takich błędów: naruszenie więzów klucza głównego lub obcego; naruszenie ograniczeń kolumny (np. CHECK, NOT NULL). Mechanizm obsługi: DECLARE - deklaracja wyjątku użytkownika wyjatek EXCEPTION; - kojarzenie błędu z wyjątkiem użytkownika PRAGMA EXCEPTION_INIT(wyjatek, kod_bledu); EXCEPTION WHEN wyjatek THEN Z każdym wyjątkiem Oracle związany jest typ oraz numer błędu i odpowiedni komunikat. Niepredefiniowane błędy Oracle można obsłużyć związując taki błąd z wyjątkiem zdefiniowanym przez użytkownika, lub używając klauzuliwhen OTHERS THEN w sekcji EXCEPTION bloku, wykorzystując funkcje SQLCODE (zwraca kod błędu) i SQLERRM (zwraca komunikat błędu). Typy błędów: PLS podczas kompilacji; ORA podczas wykonania. Wyjatki Oracle Wyjatki Oracle Wyjątki, które nie zostały zdefiniowane, warto logować w specjalnych tabelach. Przykład takiego mechanizmu: EXCEPTION WHEN OTHERS THEN blad_numer := SQLCODE; info_blad := SQLERRM; INSERT INTO bledy(uzytkownik, data, blad, tresc) VALUES (USER, SYSDATE, blad_numer,info_blad); Listę wyjątków predefiniowanych Oracle można znaleźć np. na stronie: Listę kodów błędów Oracle można znaleźć np. na stronie:

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 4 Wyjątki PL/SQL Mechanizmy dotyczące błędów Typy wyjątków Obsługa wyjątków PL/SQL Obsługa błędów predefiniowanych, użytkownika

Bardziej szczegółowo

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych

Bardziej szczegółowo

Język PL/SQL. Rozdział 3. Obsługa błędów wykonania Wyjątki predefiniowane i użytkownika, zgłaszanie i obsługa wyjątków.

Język PL/SQL. Rozdział 3. Obsługa błędów wykonania Wyjątki predefiniowane i użytkownika, zgłaszanie i obsługa wyjątków. Język PL/SQL. Rozdział 3. Obsługa błędów wykonania Wyjątki predefiniowane i użytkownika, zgłaszanie i obsługa wyjątków. 1 Komunikaty o błędach serwera Oracle Wykonanie niepoprawnej operacji w trakcie działania

Bardziej szczegółowo

1 Kursory 1. 2 Wyjątki Wyjątki predefiniowane Wyjątki niezdefiniowane wcześniej Definiowanie własnych wyjątków...

1 Kursory 1. 2 Wyjątki Wyjątki predefiniowane Wyjątki niezdefiniowane wcześniej Definiowanie własnych wyjątków... Plan wykładu Spis treści 1 Kursory 1 2 Wyjątki 4 2.1 Wyjątki predefiniowane............................. 4 2.2 Wyjątki niezdefiniowane wcześniej....................... 5 2.3 Definiowanie własnych wyjątków........................

Bardziej szczegółowo

Bloki anonimowe w PL/SQL

Bloki anonimowe w PL/SQL Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia

Bardziej szczegółowo

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ]; Braki w SQL obsługi zdarzeń i sytuacji wyjątkowych funkcji i procedur użytkownika definiowania złożonych ograniczeń integralnościowych Proceduralny SQL Transact- SQL używany przez Microsoft SQL Server

Bardziej szczegółowo

Technologie baz danych WYKŁAD 7: Wyjątki

Technologie baz danych WYKŁAD 7: Wyjątki Wydział Informatyki Politechnika Białostocka Obsługa wyjątków Technologie baz danych WYKŁAD 7: Wyjątki [] [] Agnieszka Oniśko, Małgorzata Krętowska TBD-wyjątki 1 TBD-wyjątki 2 Sposoby powstania sytuacji

Bardziej szczegółowo

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u będziemy używać w taki sam sposób, jak wbudowanych funkcji

Bardziej szczegółowo

Deklarowanie kursora

Deklarowanie kursora Kursory i wyjątki Kursory i praca z kursorami, kursory jawne i niejawne, otwieranie kursora, pobieranie z kursora, zamykanie kursora, wyjątki systemowe i użytkownika, zgłaszanie i obsługa wyjątków 1 Kursor

Bardziej szczegółowo

PL/SQL. Zaawansowane tematy PL/SQL

PL/SQL. Zaawansowane tematy PL/SQL PL/SQL Zaawansowane tematy PL/SQL Cele Poznanie złożonych i referencyjnych typów danych Poznanie konstrukcji kursora Poznanie kodu składowanego Poznanie procedur i funkcji 2 Złożone typy danych RECORD

Bardziej szczegółowo

Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki.

Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki. Pakiety Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki. Pakiet składa się ze: specyfikacji (interfejsu) i ciała (implementacji). W specyfikacji mieszczą

Bardziej szczegółowo

Kursory i wyjątki. (c) Instytut Informatyki Politechniki Poznańskiej 1

Kursory i wyjątki. (c) Instytut Informatyki Politechniki Poznańskiej 1 Kursory i wyjątki Kursory i praca z kursorami, kursory jawne i niejawne, otwieranie kursora, pobieranie z kursora, zamykanie kursora, wyjątki systemowe i użytkownika, zgłaszanie i obsługa wyjątków 1 Kursor

Bardziej szczegółowo

PL/SQL. Zaawansowane tematy PL/SQL. Piotr Medoń

PL/SQL. Zaawansowane tematy PL/SQL. Piotr Medoń PL/SQL Zaawansowane tematy PL/SQL Piotr Medoń Cele Omówienie transakcji bazodanowych Omówienie obsługi wyjątków Zarządzanie perspektywami Tworzenie i usuwanie sekwencji Budowa wyzwalaczy 2 Transakcje bazodanowe

Bardziej szczegółowo

DECLARE VARIABLE zmienna1 typ danych; BEGIN

DECLARE VARIABLE zmienna1 typ danych; BEGIN Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;

Bardziej szczegółowo

BAZY DANYCH W APLIKACJACH SIECIOWYCH

BAZY DANYCH W APLIKACJACH SIECIOWYCH BAZY DANYCH W APLIKACJACH SIECIOWYCH Wykład 4 Wyjątki. Wyzwalacze bazodanowe. (Wybrane materiały) Dr inż. E. Busłowska Obsługa wyjątków w PLSQL Wyjątek (ang. Exception) - błąd lub ostrzeżenie w PLSQL Typy

Bardziej szczegółowo

Bazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)

Bazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa) Bazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dwunasty PL/SQL, c.d. 1 / 37 SQL to za mało SQL brakuje możliwości dostępnych w językach proceduralnych.

Bardziej szczegółowo

Cheatsheet PL/SQL Andrzej Klusiewicz 1/9

Cheatsheet PL/SQL Andrzej Klusiewicz  1/9 Declare y integer; z varchar2(50); d date; null; Declare x integer:=10; null; x integer; x:=10; dbms_output.put_line('hello world'); for x in 1..10 loop Deklaracja 4 zmiennych. Jednej typu rzeczywistego,

Bardziej szczegółowo

Październik 2015. Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska. Systemy baz danych - wykład III. dr inż.

Październik 2015. Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska. Systemy baz danych - wykład III. dr inż. 1/40 Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Październik 2015 2/40 Plan wykładu Uzupełnienie projektu fizycznego Czym jest PL/SQL Bloki w PL/SQL Wykorzystanie 3/40 Projekt

Bardziej szczegółowo

15. Funkcje i procedury składowane PL/SQL

15. Funkcje i procedury składowane PL/SQL 15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp

Bardziej szczegółowo

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze Cechy bloków nazwanych: w postaci skompilowanej trwale przechowywane na serwerze wraz z danymi wykonywane na żądanie użytkownika lub w

Bardziej szczegółowo

Plan wykładu Projekt fizyczny bazy danych Wprowadzenie PL/SQL PL/SQL Cechy PL/SQL

Plan wykładu Projekt fizyczny bazy danych Wprowadzenie PL/SQL PL/SQL Cechy PL/SQL Plan wykładu Uzupełnienie projektu fizycznego Czym jest PL/SQL Bloki w PL/SQL Zmienne i stałe Instrukcje sterujące Wykorzystanie SQL w PL/SQL Kursory Wyjątki Projekt fizyczny bazy danych Braki projektu

Bardziej szczegółowo

Pakiety podprogramów Dynamiczny SQL

Pakiety podprogramów Dynamiczny SQL Pakiety podprogramów Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL 1 Pakiety Pakiet (ang. package)

Bardziej szczegółowo

PODSTAWY BAZ DANYCH 13. PL/SQL

PODSTAWY BAZ DANYCH 13. PL/SQL PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących

Bardziej szczegółowo

Deklarowanie kursora. CURSOR nazwa [ ( param1 typ1 [,param2 typ2]... ) ] [RETURN typ zwracany] IS zapytanie SQL;

Deklarowanie kursora. CURSOR nazwa [ ( param1 typ1 [,param2 typ2]... ) ] [RETURN typ zwracany] IS zapytanie SQL; Kursory Każde zapytanie SQL umieszczone w programie PLSQL jest wykonywane w tzw. obszarze roboczym lub inaczej obszarze kontekstu. PLSQL wykorzystuje ten obszar do przechowywania danych otrzymanych w wyniku

Bardziej szczegółowo

Procedury i funkcje składowane

Procedury i funkcje składowane Procedury i funkcje składowane Zmienne podstawienia i zmienne wiązane, podprogramy, procedury składowane, typy argumentów, wywoływanie procedur, funkcje składowane, poziomy czystości funkcji, funkcje tablicowe

Bardziej szczegółowo

Bloki anonimowe w PL/SQL

Bloki anonimowe w PL/SQL Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia

Bardziej szczegółowo

Zaawansowane bazy danych i hurtownie danych semestr I

Zaawansowane bazy danych i hurtownie danych semestr I Podprogramy Wydział Informatyki Politechnika Białostocka Zaawansowane bazy danych i hurtownie danych semestr I Procedury do przeprowadzenia akcji Funkcje do obliczania wartości Pakiety do zbierania logicznie

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 5 Wprowadzenie Tworzenie i wykonywanie procedur i funkcji Instrukcja RETURN Parametry procedur i funkcji oraz ich przesyłanie Metadane

Bardziej szczegółowo

Język PL/SQL Procedury i funkcje składowane

Język PL/SQL Procedury i funkcje składowane Język PL/SQL Procedury i funkcje składowane Podprogramy, procedury i funkcje składowane, typy argumentów, wywoływanie procedur i funkcji, poziomy czystości funkcji 1 Podprogramy Procedury (wykonują określone

Bardziej szczegółowo

OBSŁUGA WYJĄTKÓW. Mechanizm języka PL/SQL. Wyjątki:

OBSŁUGA WYJĄTKÓW. Mechanizm języka PL/SQL. Wyjątki: OBSŁUGA WYJĄTKÓW W języku PL/SQL zaimplementowano obsługę błędów za pomocą: mechanizmu wyjątków programów obsługi wyjątków w tzw. sekcji obsługi wyjątków. Wyjątki mogą być związane z: błędami systemu Oracle

Bardziej szczegółowo

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko Typy rozproszonych baz Systemy typu klient-serwer (jeden serwer) Jednorodna rozproszona baza (kilka serwerow, jeden system zarzadzania baza ) Niejednorodna

Bardziej szczegółowo

1. ELEMENTY JĘZYKA PL/SQL

1. ELEMENTY JĘZYKA PL/SQL 1. ELEMENTY JĘZYKA PL/SQL Aplikacje korzystające z PL/SQL będącego proceduralnym rozszerzeniem SQL mogą wykonywać procedury i funkcje języka PL/SQL składowane w bazie danych oraz wysyłać własne programy

Bardziej szczegółowo

Język PL/SQL Pakiety podprogramów

Język PL/SQL Pakiety podprogramów Język PL/SQL Pakiety podprogramów Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora) 1 Pakiety Pakiet (ang. package) grupuje powiązane

Bardziej szczegółowo

Język PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL

Język PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL Język PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL.

Bardziej szczegółowo

Materiały. Technologie baz danych. Plan wykładu Kursory. Wykład 5: Kursory jawne. Podprogramy. Kursory jawne. Kursory niejawne

Materiały. Technologie baz danych. Plan wykładu Kursory. Wykład 5: Kursory jawne. Podprogramy. Kursory jawne. Kursory niejawne Materiały dostępne są na stronie: Materiały Technologie baz danych aragorn.pb.bialystok.pl/~gkret Wykład 5: Kursory jawne. Podprogramy. Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka

Bardziej szczegółowo

Ćwiczenia 2 IBM DB2 Data Studio

Ćwiczenia 2 IBM DB2 Data Studio Ćwiczenia 2 IBM DB2 Data Studio Temat: Aplikacje w Data Studio 1. Projekty Tworzenie procedur, UDF, trygerów zaczynamy od utworzenia projektu File -> New -> Project wybieramy Data Development Project.

Bardziej szczegółowo

Składowane procedury i funkcje

Składowane procedury i funkcje Składowane procedury i funkcje Procedury i funkcje są zestawem poleceń SQL, które są przechowywane na serwerze (tak jak dane w tablicach). Istnieją sytuacje, kiedy procedury i funkcje są szczególnie przydatne.

Bardziej szczegółowo

Wyzwalacze. Anna Fiedorowicz Bazy danych 2

Wyzwalacze. Anna Fiedorowicz Bazy danych 2 Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych

Bardziej szczegółowo

1 Wprowadzenie do bloków nazwanych 1. 2 Parametry 2. 3 Procedury i funkcje 3. 4 Pakiety 6. 5 Podsumowanie Źródła 10

1 Wprowadzenie do bloków nazwanych 1. 2 Parametry 2. 3 Procedury i funkcje 3. 4 Pakiety 6. 5 Podsumowanie Źródła 10 Plan wykładu Spis treści 1 Wprowadzenie do bloków nazwanych 1 2 Parametry 2 3 Procedury i funkcje 3 4 Pakiety 6 5 Podsumowanie 10 6 Źródła 10 1 Wprowadzenie do bloków nazwanych Rodzaje bloków w PL/SQL

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 6 Wprowadzenie Definiowanie wyzwalaczy DML Metadane wyzwalaczy Inne zagadnienia, tabele mutujące Wyzwalacze INSTEAD OF Wyzwalacze

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 2 Kusory Wprowadzenie Kursory użytkownika Kursory domyślne Zmienne kursora Wyrażenia kursora - 2 - Wprowadzenie Co to jest kursor?

Bardziej szczegółowo

Plan wykładu BAZY DANYCH II WYKŁAD 3. Zasięg zmiennych. Zasięg zmiennych

Plan wykładu BAZY DANYCH II WYKŁAD 3. Zasięg zmiennych. Zasięg zmiennych Plan wykładu BAZY DANYCH II WYKŁAD 3 Zasięg zmiennych Zmienne powiązane Instrukcje warunkowe Pętle Pobieranie danych SQL w PL/SQL Rekordy dr inż. Agnieszka Bołtuć Zasięg zmiennych Zmienna jest dostępna

Bardziej szczegółowo

Podprogramy. Rozdział 11 Procedury i funkcje składowane

Podprogramy. Rozdział 11 Procedury i funkcje składowane Podprogramy Rozdział 11 Procedury i funkcje składowane Podprogramy, procedury składowane, funkcje składowane, wywoływanie podprogramów Przez podprogramy rozumiemy głównie: procedury (wykonują określone

Bardziej szczegółowo

Plan wykładu BAZY DANYCH II WYKŁAD 6. Co to są wyjątki? Co to są wyjątki? 2010-12-02

Plan wykładu BAZY DANYCH II WYKŁAD 6. Co to są wyjątki? Co to są wyjątki? 2010-12-02 Plan wykładu Wyjątki Deklarowanie, zgłaszanie, obsługa wyjątków Przekazywanie wyjątków Funkcje Procedury BAZY DANYCH II WYKŁAD 6 dr inż. Agnieszka Bołtuć Co to są wyjątki? Co to są wyjątki? Wyjątki są

Bardziej szczegółowo

Język PL/SQL. Rozdział 4. Procedury i funkcje składowane

Język PL/SQL. Rozdział 4. Procedury i funkcje składowane Język PL/SQL. Rozdział 4. Procedury i funkcje składowane Podprogramy, procedury składowane, funkcje składowane, wywoływanie podprogramów. (c) Instytut Informatyki Politechniki Poznańskiej 1 Podprogramy

Bardziej szczegółowo

1. Wyzwalacze BD (ang. triggers)

1. Wyzwalacze BD (ang. triggers) 1. Wyzwalacze BD (ang. triggers) Wyzwalacz bazy danych jest procedurą składowaną w bazie powiązaną z jedną konkretną tablicą. Z pojedynczą tablicą może być związane wiele wyzwalaczy, natomiast pojedynczy

Bardziej szczegółowo

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Składowe wyzwalacza ( ECA ): określenie zdarzenia ( Event ) określenie

Bardziej szczegółowo

PL/SQL. Lidia Małkiewicz i Cezary Skubała

PL/SQL. Lidia Małkiewicz i Cezary Skubała PL/SQL Lidia Małkiewicz i Cezary Skubała Jest językiem trzeciej generacji (3GL), który udostępnia konstrukty programistyczne, włączając w to deklaracje zmiennych, pętlę, obsługę błędów itd. Obecnie PL/SQL

Bardziej szczegółowo

Oracle Developer Suite. Budowa aplikacji użytkownika końcowego

Oracle Developer Suite. Budowa aplikacji użytkownika końcowego Oracle Developer Suite Budowa aplikacji użytkownika końcowego Składniki pakietu Oracle Developer Suite Oracle Forms Builder formularze (aplikacje dostępne z poziomu przeglądarki internetowej, model 3-warstwowy)

Bardziej szczegółowo

Zarządzanie bazą danych. Bazy Danych i Systemy informacyjne Wykład 4. Piotr Syga

Zarządzanie bazą danych. Bazy Danych i Systemy informacyjne Wykład 4. Piotr Syga Bazy Danych i Systemy informacyjne Wykład 4 Piotr Syga 26.10.2018 Procedury review Przypomnienie składni procedur Tworzenie DELIMITER $$ CREATE PROCEDURE zliczacz (OUT wynik INT) BEGIN operacje... END

Bardziej szczegółowo

BAZA DANYCH SIECI HOTELI

BAZA DANYCH SIECI HOTELI Paulina Gogół s241906 BAZA DANYCH SIECI HOTELI Baza jest częścią systemu zarządzającego pewną siecią hoteli. Składa się z tabeli powiązanych ze sobą różnymi relacjami. Służy ona lepszemu zorganizowaniu

Bardziej szczegółowo

Wykład 9. Pakiety w języku PL/SQL

Wykład 9. Pakiety w języku PL/SQL Wykład 9. Pakiety w języku PL/SQL Pakiety (ang. packages): podobnie jak podprogramy, zaliczamy do bloków nazwanych języka PL/SQL, zostały zaczerpnięty z języka ADA, lecz w stosunku do pakietu tego języka

Bardziej szczegółowo

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw

Bardziej szczegółowo

SQL 4 Structured Query Lenguage

SQL 4 Structured Query Lenguage Wykład 5 SQL 4 Structured Query Lenguage Instrukcje sterowania danymi Bazy Danych - A. Dawid 2011 1 CREATE USER Tworzy nowego użytkownika Składnia CREATE USER specyfikacja użytkownika [, specyfikacja użytkownika]...

Bardziej szczegółowo

Indeksy. Indeks typu B drzewo

Indeksy. Indeks typu B drzewo Indeksy dodatkowe struktury służące przyśpieszeniu dostępu do danych o użyciu indeksu podczas realizacji poleceń decyduje SZBD niektóre systemy bazodanowe automatycznie tworzą indeksy dla kolumn o wartościach

Bardziej szczegółowo

Wyzwalacze TWORZENIE WYZWALACZY

Wyzwalacze TWORZENIE WYZWALACZY Wyzwalacze: podobnie jak procedury i funkcje, są nazwanymi blokami PL/SQL zawierającymi sekcje deklaracji, wykonania i obsługi wyjątków; nie akceptują argumentów; muszą być składowane jako samodzielne

Bardziej szczegółowo

Plan wykładu BAZY DANYCH II WYKŁAD 2. Bloki. Struktura bloku

Plan wykładu BAZY DANYCH II WYKŁAD 2. Bloki. Struktura bloku Plan wykładu BAZY DANYCH II WYKŁAD 2 Bloki, struktura, sekcje Bloki anonimowe Tworzenie i uruchamianie Identyfikatory Literały Typy danych dr inż. Agnieszka Bołtuć Bloki Struktura bloku W programach pisanych

Bardziej szczegółowo

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued

Bardziej szczegółowo

PL/SQL. Część 1 Bloki PL/SQL. Piotr Medoń

PL/SQL. Część 1 Bloki PL/SQL. Piotr Medoń PL/SQL Część 1 Bloki PL/SQL Piotr Medoń Cele Zapoznanie się z podstawowymi typami PL/SQL Zapoznanie się z blokiem PL/SQL Zapoznanie się z instrukcjami sterującymi wykonaniem 2 Blok PL/SQL Struktura bloku

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -

Bardziej szczegółowo

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe -- Definicje relacji i utworzenie stanu początkowego dla ćwiczeń z synchronizacji transakcji DROP TABLE Konta cascade constraints; DROP TABLE

Bardziej szczegółowo

Plan wykładu BAZY DANYCH II WYKŁAD 7. Pakiety. Zalety pakietów 2011-01-13

Plan wykładu BAZY DANYCH II WYKŁAD 7. Pakiety. Zalety pakietów 2011-01-13 Plan wykładu BAZY DANYCH II WYKŁAD 7 Pakiety: specyfikacja, ciało, Wywoływanie elementów pakietów, Przeciążanie podprogramów z pakietów, Inicjowanie pakietów, Deklaracje uprzedzające, Funkcje pakietowe

Bardziej szczegółowo

Procedury Funkcje Pakiety. Tworzenie procedury

Procedury Funkcje Pakiety. Tworzenie procedury Podprogramy tworzy się za pomocą instrukcji CREATE. Tworzenie procedury Składnia CREATE [OR REPLACE] PROCEDURE nazwa_procedury [(param1 [IN OUT IN OUT] typ_danych [:= DEFAULT wyrażenie], param2 [IN OUT

Bardziej szczegółowo

Bazy danych, 4. wiczenia

Bazy danych, 4. wiczenia Bazy danych, 4. wiczenia 2007-10-23 1 Plan zaj PL/SQL, cz ± II: tabele kursory sªu» ce do zmiany danych, procedury, funkcje, pakiety, wyzwalacze. 2 Tabele Deklaracja TYPE t_tab IS TABLE OF VARCHAR(20)

Bardziej szczegółowo

Hurtownia Świętego Mikołaja projekt bazy danych

Hurtownia Świętego Mikołaja projekt bazy danych Aleksandra Kobusińska nr indeksu: 218366 Hurtownia Świętego Mikołaja projekt bazy danych Zaprezentowana poniżej baza jest częścią większego projektu bazy danych wykorzystywanej w krajowych oddziałach wiosek

Bardziej szczegółowo

Używany kiedy pełna treść instrukcji SQL jest nieznana przed uruchomieniem programu.

Używany kiedy pełna treść instrukcji SQL jest nieznana przed uruchomieniem programu. Plan wykładu Spis treści 1 Dynamiczny SQL 1 2 Wyzwalacze 2 3 Podsumowanie 9 4 Źródła 9 1 Dynamiczny SQL Dynamiczny SQL Dynamiczny SQL - technika programowania umożliwiająca generowanie instrukcji SQL dynamicznie

Bardziej szczegółowo

BAZY DANYCH Cz III. Transakcje, Triggery

BAZY DANYCH Cz III. Transakcje, Triggery BAZY DANYCH Cz III Transakcje, Triggery Transakcje Definicja: Zbiór operacji (modyfikacja danych, usuwanie, wstawianie, tworzenie obiektów bazodanowych), które albo wszystkie kończone są sukcesem, albo

Bardziej szczegółowo

Oracle11g: Programowanie w PL/SQL

Oracle11g: Programowanie w PL/SQL Oracle11g: Programowanie w PL/SQL OPIS: Kurs pozwala zrozumieć zalety programowania w języku PL/SQL. Studenci uczą się tworzyć bloki kodu wykonywanego po stronie serwera, który może być współużytkowany

Bardziej szczegółowo

Bazy danych. Plan wykładu. Złczenia tabel. Perspektywy cd. Wykład 9: Programowanie aplikacji baz danych po stronie serwera. Sekwencje Wyzwalacze

Bazy danych. Plan wykładu. Złczenia tabel. Perspektywy cd. Wykład 9: Programowanie aplikacji baz danych po stronie serwera. Sekwencje Wyzwalacze Plan wykładu Bazy danych Wykład 9: Programowanie aplikacji baz danych po stronie serwera Sekwencje Wyzwalacze Bloki anonimowe Funkcje Procedury Pakiety Małgorzata Krtowska Katedra Oprogramowania e-mail:

Bardziej szczegółowo

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie

Bardziej szczegółowo

Plan wykładu PL/SQL. PL/SQL - historia TWORZENIE APLIKACJI BAZODANOWYCH

Plan wykładu PL/SQL. PL/SQL - historia TWORZENIE APLIKACJI BAZODANOWYCH Plan wykładu 2 TWORZENIE APLIKACJI BAZODANOWYCH Wykład 2: Wprowadzenie do PL/SQL: bloki anonimowe, zmienne, kursory Wprowadzenie do PL/SQL Bloki Podstawowe składowe języka Zmienne i stałe Kursory Małgorzata

Bardziej szczegółowo

ZASTOSOWANIE PROCEDUR, FUNKCJI I PAKIETÓW

ZASTOSOWANIE PROCEDUR, FUNKCJI I PAKIETÓW ZASTOSOWANIE PROCEDUR, FUNKCJI I PAKIETÓW Położenie podprogramów Jak wiemy, podprogramy i pakiety jako bloki nazwane, mogą być składowane w słowniku danych. Podprogram najpierw tworzy się za pomocą polecenia

Bardziej szczegółowo

Delphi Laboratorium 3

Delphi Laboratorium 3 Delphi Laboratorium 3 1. Procedury i funkcje Funkcja jest to wydzielony blok kodu, który wykonuje określoną czynność i zwraca wynik. Procedura jest to wydzielony blok kodu, który wykonuje określoną czynność,

Bardziej szczegółowo

Wykład V. Indeksy. Struktura indeksu składa się z rekordów o dwóch polach

Wykład V. Indeksy. Struktura indeksu składa się z rekordów o dwóch polach Indeksy dodatkowe struktury służące przyśpieszeniu dostępu do danych o użyciu indeksu podczas realizacji poleceń decyduje SZBD niektóre systemy bazodanowe automatycznie tworzą indeksy dla kolumn o wartościach

Bardziej szczegółowo

Tworzenie raportów XML Publisher przy użyciu Data Templates

Tworzenie raportów XML Publisher przy użyciu Data Templates Tworzenie raportów XML Publisher przy użyciu Data Templates Wykorzystanie Szablonów Danych (ang. Data templates) jest to jedna z metod tworzenia raportów w technologii XML Publisher bez użycia narzędzia

Bardziej szczegółowo

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1 Procedury wyzwalane procedury wyzwalane, cel stosowania, typy wyzwalaczy, wyzwalacze na poleceniach DML i DDL, wyzwalacze typu INSTEAD OF, przykłady zastosowania, zarządzanie wyzwalaczami 1 Procedury wyzwalane

Bardziej szczegółowo

Plan wykładu BAZY DANYCH II WYKŁAD 4. Co to jest kursor? Rodzaje kursorów

Plan wykładu BAZY DANYCH II WYKŁAD 4. Co to jest kursor? Rodzaje kursorów Plan wykładu Kursory: deklaracja, otwieranie, pobieranie danych, zamykanie Kursory: atrybuty Kursory: pętle, rekordy Kursory z parametrami BAZY DANYCH II WYKŁAD 4 dr inż. Agnieszka Bołtuć Co to jest kursor?

Bardziej szczegółowo

Ustawienie na poziomie sesji (działa do zmiany lub zakończenia sesji zamknięcia połączenia).

Ustawienie na poziomie sesji (działa do zmiany lub zakończenia sesji zamknięcia połączenia). POZIOMY IZOLACJI TRANSAKCJI 1. Microsoft SQL Server 2012 (od SQL Server 2005) W systemie SQL Server można wybrać sposób sterowania współbieżnością. Podstawowy sposób to stosowanie blokad. Wykorzystywane

Bardziej szczegółowo

Oracle 12c: Nowości w SQL i PL/SQL

Oracle 12c: Nowości w SQL i PL/SQL Oracle 12c: Nowości w SQL i PL/SQL Marek Wojciechowski Politechnika Poznańska, PLOUG Nowe możliwości w klauzuli DEFAULT Odwołania do sekwencji Obsługa jawnie wstawianych wartości NULL Wartości na poziomie

Bardziej szczegółowo

SQL w języku PL/SQL. 2) Instrukcje języka definicji danych DDL DROP, CREATE, ALTER, GRANT, REVOKE

SQL w języku PL/SQL. 2) Instrukcje języka definicji danych DDL DROP, CREATE, ALTER, GRANT, REVOKE Instrukcje SQL dzielimy na następujące kategorie: 1) Instrukcje języka manipulowania danymi (DML) SELECT, INSERT, UPDATE, DELETE, SET TRANSACTION, EXPLAIN PLAN 2) Instrukcje języka definicji danych DDL

Bardziej szczegółowo

Comarch ERP XL Business Intelligence Start. Migracja do wersji 2018

Comarch ERP XL Business Intelligence Start. Migracja do wersji 2018 Business Intelligence Start Copyright 2018 COMARCH Wszelkie prawa zastrzeżone Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie

Bardziej szczegółowo

Plan wykładu BAZY DANYCH II WYKŁAD 9. Dynamiczny SQL. Dynamiczny SQL 2012-01-20

Plan wykładu BAZY DANYCH II WYKŁAD 9. Dynamiczny SQL. Dynamiczny SQL 2012-01-20 Plan wykładu BAZY DANYCH II WYKŁAD 9 Dynamiczny SQL, NDS, EXECUTE IMMEDIATE, Pakiet DBMS_SQL, Obiekty w PL/SQL, Tworzenie, wywoływanie, dziedziczenie, etc. dr inż. Agnieszka Bołtuć Dynamiczny SQL Pozwala

Bardziej szczegółowo

Język PL/SQL. Rozdział 2. Kursory

Język PL/SQL. Rozdział 2. Kursory Język PL/SQL. Rozdział 2. Kursory Deklarowanie kursora, otwieranie kursora, pobieranie z kursora, zamykanie kursora, zmienne kursorowe, wyrażenie CURSOR, kursory niejawne. 1 Kursor jawny Każde zapytanie

Bardziej szczegółowo

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze Funkcje użytkownika Tworzenie funkcji Usuwanie funkcji Procedury składowane Tworzenie procedur składowanych Usuwanie procedur składowanych Wyzwalacze Wyzwalacze a ograniczenia i procedury składowane Tworzenie

Bardziej szczegółowo

Instrukcje SQL można podzielić na pięć kategorii, które zostały przedstawione w poniższej tabeli.

Instrukcje SQL można podzielić na pięć kategorii, które zostały przedstawione w poniższej tabeli. SQL W JĘZYKU PL/SQL Strukturalny język zapytań SQL określa sposób manipulowania danymi w bazie danych. Konstrukcje proceduralne języka PL/SQL stają się bardziej użyteczne w połączeniu z mocą przetwarzania

Bardziej szczegółowo

Przykład 3 Zdefiniuj w bazie danych hurtownia_nazwisko przykładową funkcję użytkownika fn_rok;

Przykład 3 Zdefiniuj w bazie danych hurtownia_nazwisko przykładową funkcję użytkownika fn_rok; Temat: Funkcje, procedury i wyzwalacze. Oprócz tabel i widoków w bazach danych możemy tworzyć własne funkcje, procedury i specjalny typ procedur, które będą automatycznie wywoływanie przez MySQL w memencie

Bardziej szczegółowo

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście. Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN

Bardziej szczegółowo

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL, Mój projekt przedstawia bazę danych noclegów składającą się z 10 tabel. W projekcie wykorzystuje program LibreOffice Base do połączenia psql z graficznym interfejsem ( kilka formularzy przedstawiających

Bardziej szczegółowo

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze 1 Funkcje i procedury pamiętane Następujące polecenie tworzy zestawienie zawierające informację o tym ilu jest na naszej hipotetycznej

Bardziej szczegółowo

Oracle10g: Programowanie w PL/SQL

Oracle10g: Programowanie w PL/SQL Oracle10g: Programowanie w PL/SQL OPIS: Szkolenie dotyczy użytkowników Oracle8i, Oracle9i i Oracle10g. Ten kurs pozwala zrozumieć zalety tego potężnego narzędzia programowania do PL/SQL. Studenci uczą

Bardziej szczegółowo

Obowiązuje od wersji

Obowiązuje od wersji Obowiązuje od wersji 8.30.0 1. Wstęp czym są gniazda rozszerzeń?... 2 2. Edytor gniazd rozszerzeń - informacje podstawowe... 3 3. Dostępne rodzaje funkcji w gniazdach rozszerzeń... 6 3.1 Procedura SQL...

Bardziej szczegółowo

Generowanie dokumentów XML z tabel relacyjnych - funkcje SQLX

Generowanie dokumentów XML z tabel relacyjnych - funkcje SQLX Aktualizowanie dokumentów XML ( Oracle ) do aktualizowania zawartości dokumentów XML służy między innymi funkcja updatexml. wynikiem jej działania jest oryginalny dokument ze zmodyfikowanym fragmentem,

Bardziej szczegółowo

Wykład 5. SQL praca z tabelami 2

Wykład 5. SQL praca z tabelami 2 Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,

Bardziej szczegółowo

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Grupa A (LATARNIE) Imię i nazwisko: Numer albumu: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Nazwisko prowadzącego: 11: 12: Suma: Ocena: Zad. 1 (10 pkt) Dana jest relacja T. Podaj wynik poniższego zapytania (podaj

Bardziej szczegółowo

Obsługa błędów w SQL i transakcje. Obsługa błędów w SQL

Obsługa błędów w SQL i transakcje. Obsługa błędów w SQL Obsługa błędów w SQL i transakcje Zacznijmy od najprostszego przykładu: CREATE PROCEDURE podziel1 Obsługa błędów w SQL Powyższa procedura w większości przypadków zadziała prawidłowo, lecz na przykład poniższe

Bardziej szczegółowo

Kursor. Rozdział 10a Kursory. Otwieranie kursora. Deklarowanie kursora

Kursor. Rozdział 10a Kursory. Otwieranie kursora. Deklarowanie kursora Kursor Rozdział 10a Kursory Kursory i praca z kursorami, kursory jawne i niejawne, otwieranie kursora, pobieranie z kursora, zamykanie kursora, zmienne kursorowe, wyrażenie CURSOR Każde zapytanie SQL umieszczone

Bardziej szczegółowo

Struktura bazy danych

Struktura bazy danych Procedury składowane, funkcje i wyzwalacze Struktura bazy danych Tabela Oddziały ID Nazwa Adres 10 POZNAN Kwiatowa 3 20 WARSZAWA al. Jerozolimskie 22 30 KRAKOW Planty 14 40 WROCLAW Nad Odra 16 50 GDANSK

Bardziej szczegółowo

PL/SQL. Ćwicznia 2. Ćwiczenia 3

PL/SQL. Ćwicznia 2. Ćwiczenia 3 PL/SQL Ćwicznia 2 4. Napisać kod bloku animowanego w PL/SQL, za pomocą którego z tabeli osoby będzie można wybrać osobę o określonym nazwisku i imieniu, przy czym nazwisko i imię tej osoby jest podane

Bardziej szczegółowo

Ada-95. Dariusz Wawrzyniak

Ada-95. Dariusz Wawrzyniak Część I Wskaźniki Plan Typy wskaźnikowe i obiekty wskazywane 1 Typy wskaźnikowe i obiekty wskazywane 2 3 4 Plan Typy wskaźnikowe i obiekty wskazywane 1 Typy wskaźnikowe i obiekty wskazywane 2 3 4 Wskaźniki

Bardziej szczegółowo

SYSTEM INFORMATYCZNY KS-SEW

SYSTEM INFORMATYCZNY KS-SEW DOKUMENTACJA TECHNICZNA KAMSOFT S.A. 40-235 Katowice ul. 1-Maja 133 Tel. (032) 2090705, Fax. (032) 2090715 http:www.kamsoft.pl, e-mail: 5420@kamsoft.pl SYSTEM INFORMATYCZNY NR KATALOGOWY 2334PI06.00 WYDANIE

Bardziej szczegółowo