Bazy danych 2 Laboratorium 2

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

Download "Bazy danych 2 Laboratorium 2"

Transkrypt

1 Język PLSQL: złożony język programowania, dzięki któremu mamy możliwość uzyskać dostęp do bazy danych Oracle z różnych środowisk; jest to język zintegrowany z serwerem bazy danych, co ma wpływ na szybkość i wydajność jego przetwarzania; cel zajęć, to zapoznanie z podstawami języka PLSQL takimi, jak: bloki, zmienne, typy danych, wyrażenia i operatory, struktury sterujące, rekordy, styl programowania. Dlaczego język PLSQL? Strukturalny język zapytań (SQL) pozwala na uzyskanie dostępu i korzystanie z relacyjnej bazy danych. SQL jest elastycznym i wydajnym językiem, pozwalającym na manipulowanie i przetwarzanie danych w relacyjnej bazie danych, np. create table A ( A number(2) primary key, B varchar2(20) default 'Ala', C date default sysdate, D char(3) NOT NULL check (D in ('TAK', 'NIE')) ); insert into A(A,D) values (1, 'TAK'); select * from A where upper(b) like upper('%r%'); delete from A where A between 2 and 4; update A set B = B 'owa' where D = 'NIE'; SQL to: język czwartej generacji, tzn. że opisuje żądane zadanie, a nie sposób jego wykonania; jest prosty i udostępnia mniejszą liczbę poleceń; izoluje również użytkownika od wewnętrznych struktur danych i algorytmów; 1

2 PLSQL (Procedural Language SQL) łączy możliwości i elastyczność SQL z konstrukcjami proceduralnymi języka trzeciej generacji: zmienne i typy danych (predefiniowane i definiowane przez użytkownika); struktury sterowania, np. instrukcja I F THEN - ELSE i pętle. procedury i funkcje; typy obiektów i metody. ORACLE 11 g system jest zgodny z normą ANSI (American National Standard Institute) języka SQL (SQL99 lub SQL2); norma SQL99 nie definiuje rozszerzeń języka trzeciej generacji udostępnionych przez PLSQL, ale system ORACLE 9i i wyżej jest zgodny z większością właściwości wymaganych przez część CORE tego standardu. BLOK PLSQL Podstawowa jednostka programu PLSQL. Może być anonimowy (tworzone dynamicznie i wykonywane jednorazowo) i nazwane takie, jak: bloki oznaczone etykietą to bloki anonimowe, którym przydzielono etykietę, więc są tworzone dynamicznie i wykonywane jednorazowo. Pozwala to na odwoływanie się do zmiennych tego bloku; podprogramy procedury i funkcje, są składowane w bazie danych i wykonywane są jawnie przez odwołanie do nich; wyzwalacze są to bloki PLSQL skojarzone ze zdarzeniami zachodzącymi w bazie danych. Są składowane w bazie danej i mogą być wielokrotnie, niejawnie wywoływane. 2

3 Ogólna struktura programu-bloku jest następująca: [DECLARE * deklaracja zmiennych, stałych, kursorów, wyjątków w ramach bloku * sekcja deklaracji] sekcja instrukcjiwykonania [EXCEPTION sekcja obsługi wyjątków] Struktura programu PLSQL umożliwia zagnieżdżanie bloków (ang. nested blocks). -- początek głównego bloku [DECLARE * deklaracja zmiennych, stałych, kursorów, wyjątków w ramach głównego bloku * sekcja deklaracji] sekcja instrukcji -- początek podbloku [DECLARE * deklaracja zmiennych, stałych, kursorów, wyjątków w ramach podbloku * sekcja deklaracji] [...sekcja instrukcji [EXCEPTION...sekcja obsługi wyjątków] ] -- koniec podbloku [EXCEPTION...sekcja obsługi wyjątków] EBD; -- koniec głównego bloku 3

4 Zmienne, stałe, kursory i wyjątki są pewnymi obiektami programu. Każdy z obiektów zadeklarowany w bloku jest traktowany jako obiekt lokalny, tzn. nie jest dostępny w żadnym z jego bloków nadrzędnych. Jest natomiast dostępny we wszystkich blokach podrzędnych, tzn. jest on globalny dla wszystkich podbloków. Dostępność obiektu w innych blokach jest określana mianem tzw. zakresu obiektu. W tym samym bloku może istnieć tylko jeden obiekt o danej nazwie. Natomiast w bloku podrzędnym można zdefiniować obiekt o takiej samej nazwie, jaki istnieje w bloku nadrzędnym. W programie PLSQL mogą również występować komentarze: -- - komentarz jedno-linijkowy; *...* - komentarz wielo-linijkowy. Jednostki leksykalne: małe i duże litery alfabetu: a..z i A..Z; cyfry: 0-9; znaki odstępu: tabulacja, spacja, znak nowego wiersza; symbole matematyczne: +, -, *,, <, >, =; znaki interpunkcyjne: ( ) { } [ ]?! ~ ; :. ' # $ ^ & _. Identyfikatory: MUSZĄ zaczynać się od litery, po której może wystąpić dowolna sekwencja znaków złożona z liter, cyfr, znaków dolara ($), znaków podkreślenia (_) i znaków # (i tylko takich!). NIE MOGĄ być dłuższe niż 30 znaków. Identyfikatory NIE MOGĄ brzmieć tak samo jak słowa zarezerwowane (np. DATE, ). W języku PLSQL duże i małe litery nie są rozróżniane. Jeżeli w identyfikatorze mają być rozróżniane duże i małe litery, i ma on zwierać spacje lub słowa kluczowe, to identyfikator ujmujemy w cudzysłów. 4

5 Ograniczniki To symbole, które mają szczególne znaczenie i są wykorzystywane do oddzielania identyfikatorów od siebie: Symbol Opis Symbol Opis + Operator dodawania - Operator odejmowania * Operator mnożenia Operator dzielenia = Operator równości < Operator mniejszości > Operator większości ( Początkowy ogranicznik wyrażenia ) Końcowy ogranicznik wyrażenia ; Znak końca instrukcji % Wskaźnik atrybutu, Separator elementów. Wskaźnik Wskaźnik łącza bazy danych ' Ogranicznik ciągu znaków '' Ogranicznik cytowanego ciągu znaków : Wskaźnik zmiennej związanej ** Operator potęgowania <> Operator nierówności!= Operator nierówności (równoważny z <>) ~= Operator nierówności (równoważny z!=) ^= Operator nierówności (równoważny z ~=) <= Operator mniejszy lub równy >= Operator większy lub równy := Operator przypisania => Operator skojarzenia.. Operator zakresu Operator konkatenacji ciągu znaków << Początkowy ogranicznik etykiety >> Końcowy ogranicznik etykiety - - * <tab> Wskaźnik komentarza jednowierszowego Końcowy wskaźnik komentarza wielowierszowego Znak tabulatora * <spacja> <cr> Początkowy wskaźnik komentarza wielowierszowego Znak spacji Znak powrotu do nowego wiersza Literały To wartość znakowa, numeryczna lub logiczna, która nie jest identyfikatorem. Znakowe bez konwersji mogą być przypisywane zmiennym typu CHAR i VARCHAR2, np. '12345', 'Ala', '100%', 'Sto lat temu', ' ' ' ', ' ' - pusty ciąg znaków identyczny z NULL. Numeryczne reprezentują wartości liczb całkowitych lub rzeczywistych, bez konwersji mogą być przypisywane zmiennym typu NUMBER, np.: 123, 7, -12, 0, -17.1, Logiczne: TRUE, FALSE lub NULL. 5

6 Sekcja DECLARE składnia. DECLARE nazwa_zmiennej typ_zmiennej [długość] [CONSTANT] [:= DEFAULT wartość_domyślna] [NOT NULL]; UWAGA: Zmienna zadeklarowana, lecz nie zainicjowana posiada wartość NULL. Przykład 1 Deklarowanie zmiennych i stałych przykłady. Poniższe trzy deklaracje są równoważne. licznik NUMBER(4); licznik NUMBER(4) := NULL; licznik NUMBER(4) DEFAULT NULL; Nadanie wartości zmiennym przez przypisanie. ilosc NUMBER(2) := 50; Można też tak: ilosc_2 NUMBER(2) DEFAULT 100; Literały (w tym daty) ujmujemy w apostrofy. imie VARCHAR2(25) DEFAULT 'Artur'; czy_instalowac CHAR(3) := 'TAK'; data_domyslna DATE := ' '; Wartość domyślna SYSDATE zwraca bieżącą datę oraz czas systemowy z dokładnością do jednej sekundy data_zatr DATE DEFAULT SYSDATE NOT NULL; Typ logiczny. Uwaga: język SQL nie posiada takiego typu. flaga BOOLEAN := FALSE; Stałe. Poniżej zadeklarowanych stałych NIE MOŻNA zmieniać w programie. Jest to wygodny sposób na unikanie prostych błędów. 6

7 grudzien CONSTANT NUMBER(2) := 31; uczelnia CONSTANT VARCHAR2(100) := 'EWSIE'; drobinka CONSTANT NUMBER := ; Typy danych. Uwaga: typy danych w PLSQL nie odpowiadają dokładnie analogicznym typom w SQL. NUMERYCZNE NUMBER [ ( p [,s] ) ] p maksymalnie o wartości 38, s wartość z przedziału -84 do 127. Ujemna wartość s oznacza zaokrąglenie wartości do określonej liczby miejsc z lewej strony kropki dziesiętnej. -- przykłady: NUMBER, NUMBER(10), NUMBER(10,3) DEC, DECIMAL, DOUBLE PRECISION, FLOAT, NUMERIC, REAL. BINARY_INTEGER od do NATURA od 0 do NATURALN od 0 do NOT NULL POSITIVE od 1 do POSITIVEN od 1 do NOT NULL SIGNTYPE od -1, 0, 1 PLS_INTEGER od do Wydajniejsza niż INTEGER i NUMBER, ZNAKOWE VARCHAR2 (L [CHAR BYTE]) od 1 do bajtów -- Domyślnie CHAR -- Uwaga: w tabelach ten typ może mieć maksymalnie 4000 bajtów. VARCHAR (L) -- Nie zaleca się stosować. Używać raczej VARCHAR2. CHAR (L [CHAR BYTE]) od 1 do bajtów -- Typ o stałej długości. Niedobór uzupełniany spacjami. NCHAR, NVCHAR2 7

8 -- narodowy zestaw znaków DATE (wiek, rok, miesiąc, dzień, godzina, minuta, sekunda) 7 bajtów -- Data i godzina, dokładność do 1 sek. TIMESTAMP [(P)] (rok, miesiąc, dzień, godzina, minuta, sekunda) -- P dokładność pola sekundy (wartością domyślną jest 6) INTERVAL YEAR [(P)] TO MONTH przechowuje dane o odcinku czasu pomiędzy dwoma punktami; liczbę lat i miesięcy -- P liczba cyfr pola roku (wartością domyślną jest 2) INTERVAL DAY [(DP)] TO SECOND[(SP)] liczbę dni i sekund -- DP liczba cyfr pola dnia (wartością domyślną jest 2) -- SP liczba cyfr pola sekund (wartością domyślną jest 6) ROWID UROWID przechowuje identyfikator wiersza rowid unikalny klucz każdego wiersza bazy danych. Wartości binarne o stałej długości zależnej od systemu operacyjnego. logiczne lub binarne identyfikatory wierszy. BOOLEAN -- Może przyjmować wartości: TRUE, FALSE, NULL. RECORD TABLE VARRAYS REF CURSOR BFILE LOB BLOB CLOB NCLOB 8

9 Przykład 2 Program "nic nie robiący". null; Przykład 3 Program "Hello, world". DBMS_OUTPUT.PUT_LINE('Hello, world'); Aby zobaczyć wynik na ekranie należy ustawić wartość zmiennej SET SERVEROUTPUT na ON Przy wpisywaniu dłuższych programów wygodniej jest ich kod zapisywać do pliku tekstowego i uruchamiać wydając polecenie START (jak poniżej). Oba polecenia są prawie równoważne sobie (szczegóły patrz dokumentacja do programu SQL*Plus). SQL> START c:\temp\p1.txt UWAGA: Jeśli pojawi się komunikat Input truncated to 1 characters, można się go pozbyć dodając na końcu jedną pustą linię (po znaku ukośnika). Wpisanie znaku ukośnika powoduje wykonanie ostatniego bloku PLSQL, który jest przechowywany w buforze. SQL> Hello, world PLSQL procedure successfully completed. SQL> 9

10 Polecenie run działa podobnie do (ukośnik), z tą różnicą, że wykonywane polecenie jest listowane. SQL> RUN 1 2 DBMS_OUTPUT.PUT_LINE('Hello, world'); 3* Hello, world PLSQL procedure successfully completed. Polecenie execute pozwala wykonać pojedyncze polecenie PLSQL. Pełną nazwę polecenia można skrócić do EXEC. SQL> EXECUTE DBMS_OUTPUT.PUT_LINE('Hello, world'); Hello, world PLSQL procedure successfully completed. Trzeba uważać, na zmienną LINESIZE (bo mogą pojawić się mylące wyniki). SQL> SET LINESIZE 5 SQL> EXECUTE DBMS_OUTPUT.PUT_LINE('HHHHeeeellllllo') HHHHe eeell llllo PLSQL procedure successfully completed. Polecenie LIST przytacza zawartość bufora. Wydane z parametrem lub parametrami wyświetla tylko wskazaną linię lub zakres linii. Gwiazdka wskazuje linię bieżącą. SQL> LIST 1 2 DBMS_OUTPUT.PUT_LINE('HHHHeeeellllllo'); 3* SQL> SQL> LIST 2 2* DBMS_OUTPUT.PUT_LINE('Hello, world'); SQL> LIST 1 1* 10

11 SQL> SQL> LSIT DBMS_OUTPUT.PUT_LINE('Hello, world'); 3* Kod programu zawiera błąd składniowy (usunięto średnik kończący polecenie w drugiej linii). * ERROR at line 3: ORA-06550: line 3, column 1: PLS-00103: Encountered the symbol "END" when expecting one of the following: :=. ( % ; The symbol ";" was substituted for "END" to continue. ZMIENNE TYPU ZŁOŻONEGO: zmienna typu rekordowego składa się z wielu zmiennych elementarnych, zwanych polami. Deklarujemy ją na dwa sposoby: przy użyciu pseudoatrubutu %ROWTYPE umożliwia deklarowanie zmiennych typu rekordowego, których struktura jest zgodna ze strukturą wiersza tabeli lub wiersza wyznaczonego przez tzw. kursor. pracownik_rekord pracownik%rowtype; pracownik_rekord jest zmienną o strukturze odpowiadającej strukturze tabeli pracownik. Innymi słowy zmienna rekordowa składa się z pól odpowiadających kolumnom tabeli pracownik. Możemy odwołać się do dowolnego pola tej zmiennej poprzez użycie '.': pracownik_rekord.nazwisko; przy użyciu złożonego typu danych RECORD umożliwia deklarowanie zmiennej o dowolnej strukturze. Najpierw musimy zadeklarować typ rekordowy, by deklarować zmienne tego typu. 11

12 DECLARE TYPE pracownik_rekord1 IS RECORD ( nazwisko pracownik.nazwisko%type, pensja number(6,2) not null :=900 ); gdzie %TYPE oznacza pseudoatrybut określający typ zmiennej zgodny z typem kolumny nazwisko w tabeli pracownik. pracownik1 pracownik_rekord1; - typ tablicowy struktura dwukolumnowej macierzy, w której pierwsza kolumna jest wykorzystywana do indeksowania wierszy tablicy i musi być typu binary_integer; druga kolumna może być zadeklarowana z wykorzystaniem jednego z predefiniowanych typów prostych, np. char, number, date. Liczba wierszy tablicy jest praktycznie nieograniczona. DECLARE TYPE nazwa_typu_tablicowego IS TABLE OF typ_kolumny [NOT NULL] INDEX BY binary_integer; zmienna_tablicowa nazwa_typu_tablicowego; zmienna_tablicowa(numer_komórki); --wartość znajdująca się w tablicy na pozycji numer_komórki Przykład.4 declare type tablica is table of number index by binary_integer; tab_liczb tablica; begin tab_liczb(0) := 2; -- odwołanie do 0 elementu tablicy dbms_output.put_line(tab_liczb(0)); tab_liczb(1) := 2 * tab_liczb(0); dbms_output.put_line(tab_liczb(1)); tab_liczb(2) := 3*tab_liczb(1)-tab_liczb(0); dbms_output.put_line(tab_liczb(2)); end; 12

13 INSTRUKCJE STERUJĄCE instrukcja warunkowa IF warunek1 THEN instrukcje; ELSIF warunek2 THEN instrukcje; ELSE instrukcje; END IF; warunek ma składnię: zmienna operator wartość Operator: >,<,=,!=, <=,>=, and, or, not, is null, like, between...and..., in, is not null, not like, not between... and..., not in. Wartość warunku: true, false, null. Przykład.5 DECLARE i NUMBER := 3; IF i > 2 THEN DBMS_OUTPUT.PUT_LINE( Wartosc zmiennej wieksza od 2 ); ELSIF i < 2 THEN DBMS_OUTPUT.PUT_LINE( Wartosc zmiennej mniejsza od 2 ); ELSE DBMS_OUTPUT.PUT_LINE( Wartosc zmiennej wynosi: i); END IF; instrukcja case CASE zmienna WHEN wartosc THEN instrukcje;... ELSE instrukcje; END CASE; 13

14 Jeśli chcemy wprowadzić wartość z klawiatury (interaktywnie) musimy użyć w tym celu deklaracji zmiennej lokalnej z użyciem &, a następnie wykorzystać wprowadzoną wartość do podstawienia pod zmienną w bloku. Przykład 6 DECLARE grade CHAR(1); grade := '&grade'; CASE grade WHEN 'A' THEN DBMS_OUTPUT.PUT_LINE('Excellent'); WHEN 'B' THEN DBMS_OUTPUT.PUT_LINE('Very Good'); WHEN 'C' THEN DBMS_OUTPUT.PUT_LINE('Good'); WHEN 'D' THEN DBMS_OUTPUT.PUT_LINE('Fair'); WHEN 'F' THEN DBMS_OUTPUT.PUT_LINE('Poor'); ELSE DBMS_OUTPUT.PUT_LINE('No such grade'); END CASE; pętla podstawowa LOOP END LOOP; INSTRUKCJE; EXIT WHEN warunek; - wyjście z pętli IF warunek THEN exit; Wyjście z pętli możliwe jest również poprzez użycie poleceń: goto lub raise. pętla while WHILE warunek LOOP -- dopóki spełniony warunek instrukcje; -- wykonuj polecenia-instrukcje END LOOP; 14

15 pętla numeryczna for FOR zmienna_licznikowa IN x..y LOOP instrukcje; END LOOP; Polecenia pętli wykonywane są y razy. Przed pierwszą iteracją zmienna_licznikowa przyjmuje wartość x. Po kolejnych iteracjach pętli wartość zmiennej_licznikowej jest zwiększana o 1 (domyślnie). Polecenia wykonywane są dopóki wartość tej zmiennej jest mniejsza równa y. Klauzula reverse odwraca kierunek iteracji. Przykład Zmienna iteracyjna NIE MUSI być wcześniej deklarowana ani inicjowana. FOR i IN 1..5 LOOP DBMS_OUTPUT.PUT_LINE( Wartosc zmiennej wynosi: TO_CHAR(i)); END LOOP; - - Uwaga na słowo kluczowe REVERSE. Odwraca ono kierunek iteracji. FOR i IN REVERSE 1..5 LOOP DBMS_OUTPUT.PUT_LINE( Wartosc zmiennej wynosi: TO_CHAR(i)); END LOOP; - - Do wcześniejszego wyjścia z pętli można użyć polecenia EXIT FOR i IN 1..5 LOOP DBMS_OUTPUT.PUT_LINE( Wartosc zmiennej wynosi: TO_CHAR(i)); EXIT WHEN i = 3; END LOOP; - - Pętla nie wykona się ani razu. FOR i IN 6..5 LOOP DBMS_OUTPUT.PUT_LINE( Wartosc zmiennej wynosi: TO_CHAR(i)); END LOOP; Z pętlami można wiązać etykiety, umożliwiające ich identyfikację, opuszczanie i testowanie wartości zawartych w nich zmiennych iteracyjnych. 15

16 Przykład 8 <<petla1>> -- etykieta pętli for i in loop <<petla2>> for j in loop if petla1.i > 5 then dbms_output.put_line('i: ' i); else dbms_output.put_line('j: ' j); end if; exit petla1 when i=7; end loop petla2; end loop petla2; INSTRUKCJA SKOKU zmienia kolejność wykonywania instrukcji oraz pozwala opuścić pętle. GOTO <etykieta> Przykład 9 DECLARE tekst VARCHAR2(100); -- Etykieta musi poprzedzać polecenie wykonywane. GOTO nie może przeskakiwać -- warunkowych części poleceń. IF-THEN-ELSE, do polecenia LOOP i do bloku podrzędnego. <<pierwszy>> tekst := 'Ala '; GOTO drugi; <<wyswietl>> DBMS_OUTPUT.PUT_LINE(tekst); GOTO koniec; <<drugi>> tekst := tekst 'ma '; GOTO trzeci; <<trzeci>> tekst := tekst 'kota.'; GOTO wyswietl; <<koniec>> NULL; -- Polecenie NULL nie wykonuje żadnej akcji. 16

17 Przykład 10 for i in 1..&n loop dbms_output.put_line(i); end loop; Przykład 11 DECLARE n integer; n:=&n; for i in 1..n loop dbms_output.put_line(i); end loop; Przykład 12 DECLARE tekst varchar(20); tekst:=&tekst; -- Wprowadzany tekst z klawiatury musi być ujęty w -- apostrofy ''. Inne rozwiązanie to: tekst:='&tekst'; -- Również zapis daty wymaga apostrofów. for i in 1..4 loop dbms_output.put_line(tekst ' ' i); end loop; 17

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

Wprowadzenie do języka PL/SQL. Język PL/SQL Wprowadzenie. Struktura blokowa programu. Przykładowy program w PL/SQL. Zmienne rekordowe.

Wprowadzenie do języka PL/SQL. Język PL/SQL Wprowadzenie. Struktura blokowa programu. Przykładowy program w PL/SQL. Zmienne rekordowe. Wprowadzenie do języka PL/SQL Język PL/SQL Wprowadzenie Język PL/SQL to rozszerzenie SQL o elementy programowania proceduralnego i obiektowego. PL/SQL umożliwia wykorzystanie: zmiennych i stałych struktur

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

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

Język PL/SQL Wprowadzenie

Język PL/SQL Wprowadzenie Język PL/SQL Wprowadzenie Koncepcja języka, zmienne i stałe, typy zmiennych, nadawanie wartości zmiennym, instrukcje warunkowe, pętle, sterowanie przebiegiem programu 1 Wprowadzenie do języka PL/SQL Język

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

Język PL/SQL Wprowadzenie

Język PL/SQL Wprowadzenie Język PL/SQL Wprowadzenie Koncepcja języka, zmienne i stałe, typy zmiennych, nadawanie wartości zmiennym, instrukcje warunkowe, pętle, sterowanie przebiegiem programu 1 Wprowadzenie do języka PL/SQL Język

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

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

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

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

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

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

Wprowadzenie do języka PL/SQL. Rozdział 9 Język PL/SQL Wprowadzenie. Struktura blokowa programu. Przykładowy program w PL/SQL

Wprowadzenie do języka PL/SQL. Rozdział 9 Język PL/SQL Wprowadzenie. Struktura blokowa programu. Przykładowy program w PL/SQL Wprowadzenie do języka PL/SQL Rozdział 9 Język PL/SQL Wprowadzenie Język PL/SQL to rozszerzenie SQL o elementy programowania proceduralnego i obiektowego. PL/SQL umoŝliwia wykorzystanie: zmiennych i stałych

Bardziej szczegółowo

11 marca Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska. Systemy baz danych - wykład III. dr inż.

11 marca Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska. Systemy baz danych - wykład III. dr inż. 1/41 Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 11 marca 2017 2/41 Plan wykładu 1 2 3 4 3/41 PL/SQL PL/SQL (ang. Procedural Language/Structured Query Language) - język programowania

Bardziej szczegółowo

2 PL/SQL - podstawy Zmienne i stałe Operatory SQL w PL/SQL Instrukcje sterujące... 8

2 PL/SQL - podstawy Zmienne i stałe Operatory SQL w PL/SQL Instrukcje sterujące... 8 Plan wykładu Spis treści 1 Wprowadzenie 1 2 PL/SQL - podstawy 1 2.1 Zmienne i stałe................................. 3 2.2 Operatory.................................... 6 2.3 SQL w PL/SQL.................................

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

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

Język PL/SQL. Rozdział 1. Wprowadzenie do języka PL/SQL

Język PL/SQL. Rozdział 1. Wprowadzenie do języka PL/SQL Język PL/SQL. Rozdział 1. Wprowadzenie do języka PL/SQL Koncepcja języka, zmienne i stałe, typy zmiennych, nadawanie wartości zmiennym, instrukcje warunkowe, pętle, sterowanie przebiegiem programu. 1 Wprowadzenie

Bardziej szczegółowo

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

Procedury składowane. Funkcje vs. procedury Funkcja. Procedura. zazwyczaj ma parametry tylko typu IN; można wywoływać z poziomu 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ż

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

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości

Bardziej szczegółowo

Wprowadzenie do języka PL/SQL. Rozdział 9 Język PL/SQL Wprowadzenie. Struktura blokowa programu. Przykładowy program w PL/SQL

Wprowadzenie do języka PL/SQL. Rozdział 9 Język PL/SQL Wprowadzenie. Struktura blokowa programu. Przykładowy program w PL/SQL Wprowadzenie do języka PL/SQL Rozdział 9 Język PL/SQL Wprowadzenie Język PL/SQL to rozszerzenie SQL o elementy programowania proceduralnego i obiektowego. PL/SQL umożliwia wykorzystanie: zmiennych i stałych

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

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

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

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

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

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

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych 1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje

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

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

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

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

Algorytmika i Programowanie VBA 1 - podstawy

Algorytmika i Programowanie VBA 1 - podstawy Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy

Bardziej szczegółowo

Wykład 4. SQL praca z tabelami 1

Wykład 4. SQL praca z tabelami 1 Wykład 4 SQL praca z tabelami 1 Typy danych Typy liczbowe Typy całkowitoliczbowe Integer types - Typ INTEGER; 32-bitowa liczba ze znakiem z zakresu -2 31 do 2 31 1 - Typ SMALLINT; typ całkowity mniejszy

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

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

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

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

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

41. Zmienne lokalne muszą mieć nazwę, którą poprzedza (maksymalnie 128 znaków) oraz typ (każdy z wyjątkiem: text, ntext oraz image)

41. Zmienne lokalne muszą mieć nazwę, którą poprzedza (maksymalnie 128 znaków) oraz typ (każdy z wyjątkiem: text, ntext oraz image) Elementy języka T-SQL 40. Polecenie PRINT jest wykorzystywane do przekazania wiadomości tekstowej (maksymalna długość 8000 znaków) Przykład PRINT 'Aktualna data: '+convert(char(8),getdate()) PRINT 'Aktualny

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

Kiedy i czy konieczne?

Kiedy i czy konieczne? Bazy Danych Kiedy i czy konieczne? Zastanów się: czy często wykonujesz te same czynności? czy wielokrotnie musisz tworzyć i wypełniać dokumenty do siebie podobne (faktury, oferty, raporty itp.) czy ciągle

Bardziej szczegółowo

Ćwiczenie 11 PL/SQL. Wprowadzenie do języka PL/SQL

Ćwiczenie 11 PL/SQL. Wprowadzenie do języka PL/SQL Ćwiczenie 11 PL/SQL Wprowadzenie do języka PL/SQL Ćwiczenie 11 PL/SQL Celem ćwiczenia jest wprowadzeniem do programowaniu w języku PL/SQL. Język PL/SQL umoŝliwia tworzenie programów, przetwarzających dane

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

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

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1 Tworzenie tabel Tabela podstawowa struktura, na której zbudowana jest relacyjna baza danych. Jest to zbiór kolumn (atrybutów) o ustalonych właściwościach, w których przechowuje się dane. Dane te są reprezentowane

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

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

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

Zaawansowane bazy danych i hurtownie danych semestr I

Zaawansowane bazy danych i hurtownie danych semestr I Ważne informacje Wydział Informatyki Politechnika Białostocka Zaawansowane bazy danych i hurtownie danych semestr I WYKŁAD 1: Wprowadzenie do przedmiotu, proceduralny język SQL 1. Sylabus w USOS ie: Ogólny

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność

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

Powtórka algorytmów. Wprowadzenie do języka Java.

Powtórka algorytmów. Wprowadzenie do języka Java. Powtórka algorytmów. Wprowadzenie do języka Java. BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż 10! ) END. 1. Narysować schemat blokowy

Bardziej szczegółowo

Język SQL. Rozdział 9. Język definiowania danych DDL, cześć 1. Tworzenie relacji, typy danych, wartości domyślne atrybutów, słownik bazy danych.

Język SQL. Rozdział 9. Język definiowania danych DDL, cześć 1. Tworzenie relacji, typy danych, wartości domyślne atrybutów, słownik bazy danych. Język SQL. Rozdział 9. Język definiowania danych DDL, cześć 1. Tworzenie relacji, typy danych, wartości domyślne atrybutów, słownik bazy danych. 1 polecenie CREATE TABLE CREATE TABLE nazwa_relacji Tworzenie

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

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

W PostgreSQL mamy do dyspozycji nie tylko funkcje wbudowane, ale również możemy tworzyć własne. Są one zapisywane w tabeli systemowej pg_proc.

W PostgreSQL mamy do dyspozycji nie tylko funkcje wbudowane, ale również możemy tworzyć własne. Są one zapisywane w tabeli systemowej pg_proc. PROCEDURY W PostgreSQL mamy do dyspozycji nie tylko funkcje wbudowane, ale również możemy tworzyć własne. Są one zapisywane w tabeli systemowej pg_proc. \df Aby wyświetlić wszystkie funkcje z argumentami

Bardziej szczegółowo

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 1 Programowanie 1 Program wykładu Struktura programu Instrukcja przypisania Wprowadzanie danych Wyprowadzanie wyników Instrukcja

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

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

SQL :: Data Definition Language

SQL :: Data Definition Language SQL :: Data Definition Language 1. Zaproponuj wydajną strukturę danych tabela) do przechowywania macierzy o dowolnych wymiarach w bazie danych. Propozycja struktury powinna zostać zapisana z wykorzystaniem

Bardziej szczegółowo

Powtórka algorytmów. Wprowadzenie do języka Java.

Powtórka algorytmów. Wprowadzenie do języka Java. Powtórka algorytmów. Wprowadzenie do języka Java. Przypomnienie schematów blokowych BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż

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

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 1 Wprowadzenie Dostęp do bazy danych Program SQL*Plus Podstawy PL/SQL - 2 - Wprowadzenie Dlaczego warto uczyć się o Oracle u? Oracle

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

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

Typy danych w języku PL/SQL

Typy danych w języku PL/SQL Typy danych w języku PL/SQL W systemie Oracle 7 język PL/QSL udostępniał trzy kategorie typów: skalarne, złożone, odwołania. W systemie Oracle 8 zdefiniowano dwie dodatkowe kategorie typów: typ LOB, typy

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

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

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

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

Język SQL, zajęcia nr 1

Język SQL, zajęcia nr 1 Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze

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

Programowanie w SQL. definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE,

Programowanie w SQL. definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE, Programowanie w SQL definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE, kontynuacja działania od instrukcji za podaną etykietą GOTO etykieta, wyjście bezwarunkowe

Bardziej szczegółowo

Wyzwalacze (triggery) Przykład

Wyzwalacze (triggery) Przykład Wyzwalacze (triggery) Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie. W poniższym przykładzie definiujemy tablicę, a następnie trigger związany

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 3 Rekordy Tabele indeksowe asocjacyjne - 2 - Rekordy Co to jest rekord? Rodzaje rekordów Rekordy użytkownika Rekordy tabelowe Rekordy

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

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną

Bardziej szczegółowo

Tabele wykorzystywane w przykładach

Tabele wykorzystywane w przykładach Tabele wykorzystywane w przykładach create table departamenty( dep_id serial primary key, nazwa_departamentu text ); Tabele używane w wybranych przkładach create table pracownicy ( emp_id serial primary

Bardziej szczegółowo

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL

Bardziej szczegółowo

Podstawowe właściwości języka PL/SQL

Podstawowe właściwości języka PL/SQL Podstawowe właściwości języka PL/SQL W celu wykorzystywania języka PL/SQL do wykonywania różnego rodzaju zadań, należy posiadać wiedzę dotyczącą konstruowania programu w języku PL/SQL, a przede wszystkim

Bardziej szczegółowo

Języki skryptowe w programie Plans

Języki skryptowe w programie Plans Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów

Bardziej szczegółowo

Autor: dr inż. Katarzyna Rudnik

Autor: dr inż. Katarzyna Rudnik Bazy danych Wykład 2 MS Access Obiekty programu, Reprezentacja danych w tabeli, Indeksy, Relacje i ich sprzężenia Autor: dr inż. Katarzyna Rudnik Obiekty programu MS ACCESS Obiekty typu Tabela są podstawowe

Bardziej szczegółowo

Umieszczanie kodu. kod skryptu

Umieszczanie kodu. kod skryptu PHP Definicja PHP jest językiem skryptowym służącym do rozszerzania możliwości stron internetowych. Jego składnia jest bardzo podobna do popularnych języków programowania C/C++, lecz jest bardzo uproszczona

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

Bardziej szczegółowo

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0 Uwaga: DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0 1. Zostały pominięte diagramy: CYFRA, CYFRA SZESNASTKOWA, ZNAK i LITERA. Nie została uwzględniona możliwość posługiwania się komentarzami. 2. Brakuje

Bardziej szczegółowo

Właściwości i metody obiektu Comment Właściwości

Właściwości i metody obiektu Comment Właściwości Właściwości i metody obiektu Comment Właściwości Właściwość Czy można zmieniać Opis Application nie Zwraca nazwę aplikacji, która utworzyła komentarz Author nie Zwraca nazwę osoby, która utworzyła komentarz

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

Plan wykładu BAZY DANYCH II WYKŁAD 5. Kolekcje. Tablice asocjacyjne Kolekcje Tablice asocjacyjne VARRAY Tablice zagnieżdżone

Plan wykładu BAZY DANYCH II WYKŁAD 5. Kolekcje. Tablice asocjacyjne Kolekcje Tablice asocjacyjne VARRAY Tablice zagnieżdżone Plan wykładu Kolekcje Tablice asocjacyjne VARRAY Tablice zagnieżdżone BAZY DANYCH II WYKŁAD 5 dr inż. Agnieszka Bołtuć Kolekcje Tablice asocjacyjne Używane w celu gromadzenia danych tego samego typu, Rekordy

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Język programowania Ruby Marcin Młotkowski 12 kwietnia 2018 Plan wykładu 1 Wstęp 2 Typy numeryczne Łańcuchy znaków (klasa String) Przedziały Tablice i tablice asocjacyjne Nazwy

Bardziej szczegółowo

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle Rozszerzenie obiektowe w SZBD Oracle Cześć 2. Kolekcje Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Malinowski Nowak Kowalski tablica zagnieżdżona (ang.

Bardziej szczegółowo

1 Przygotował: mgr inż. Maciej Lasota

1 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 1 1/7 Język C Instrukcja laboratoryjna Temat: Programowanie w powłoce bash (shell scripting) 1 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do programowania w powłoce Skrypt powłoki

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność

Bardziej szczegółowo

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; Zestaw ćwiczeń1 Dzięki DDL (Data Definition Language) można operować na strukturach, w których dane są przechowywane czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze polecenia tej grupy

Bardziej szczegółowo