Bloki anonimowe w PL/SQL
|
|
- Błażej Komorowski
- 2 lat temu
- Przeglądów:
Transkrypt
1 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 pisanie bloków programów, funkcji, procedur,... Możliwości, jakie daje język PL/SQL to: korzystanie z pętli oraz instrukcji warunkowych; dostęp do danych w plikach; poprawienie wydajności bazy danych; tworzenie rozbudowanych programów, do wykonania zadań niemożliwych do zrealizowania za pomocą samego SQL-a; obsługa błędów i wyjatków. W języku PL/SQL można tworzyć cztery rodzaje programów: 1. bloki anonimowe; 2. procedury składowane; 3. wyzwalacze; 4. funkcje. Bloki anonimowe w PL/SQL W języku PL/SQL można tworzyć bloki anonimowe, nie posiadające nazwy. Nie są zapisywane w bazie danych. Można ich używać w celu jednorazowego wykonania kodu. deklaracje zmiennych kod wykonywalny W poniższym przykładzie każdemu pracownikowi w tabeli employee dajemy podwyżkę o 100$. kwota NUMBER(4); kwota:=100; UPDATE employee SET salary=salary+kwota; Deklaracje zmiennych i stałych Zmienne i stałe deklarujemy w sekcji bloku anonimowego. Deklaracja zmiennej ma postać: zmienna typ_danych; Deklaracja stałej: stala1 CONSTANT typ_danych := wartość; Przykładowa sekcja deklaracji: liczba1 NUMBER(4); liczba2 INT :=90; liczba3 INT NOT NULL :=0; tekst1 VARCHAR2(30); data1 DATE default SYSDATE; stala1 CONSTANT CHAR(5) := tekst ; Użycie w deklaracji zmiennej instrukcji:=wyrażenie umożliwia inicjalizację wartości zmiennej w przeciwnym razie zmiennej jest przypisywane NULL. Do inicjalizacji wartości zmiennej zamiast operatora := można użyć klauzuli DEFAULT. Polecenia SQL w programach PL/SQL W kodzie programu PL/SQL można używać instrukcji INSERT, UPDATE, DELETE podobnie, jak w języku SQL. Instrukcji SELECT używamy łacznie z klauzulą INTO.
2 Polecenia SQL w programach PL/SQL Polecenia SQL w programach PL/SQL W kodzie programu PL/SQL można używać instrukcji INSERT, UPDATE, DELETE podobnie, jak w języku SQL. Instrukcji SELECT używamy łacznie z klauzulą INTO. Przykład: użycie UPDATE w bloku anonimowym: kwota NUMBER(5):=200; dzial INT; dzial:=90; UPDATE employees SET salary=salary+kwota WHERE department_id=dzial; W kodzie programu PL/SQL można używać instrukcji INSERT, UPDATE, DELETE podobnie, jak w języku SQL. Instrukcji SELECT używamy łacznie z klauzulą INTO. Przykład: użycie INSERT w bloku anonimowym: id char(2); nazwa varchar2(40); region number:=1; nazwa:= Poland ; id:= PL ; INSERT INTO countries(country_id,country_name,region_id) VALUES ( id,nazwa,region); Instrukcji DELETE używa się analogicznie. W przypadku SELECT musimy zastosować klauzulę INTO. Uwaga. Zapytanie SELECT w tym przypadku musi zwracać zawsze tylko jeden wiersz. W klauzuli INTO podajemy listę zmiennych, do których przypisywane są wartości z kolejnych pól zwracanych przez SELECT. Liczba i typy zmiennych muszą odpowiadać liczbie i typom wyrażeń zwracanych przez SELECT. 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 Oracla. Funkcje tworzymy za pomocą instrukcji CREATE FUNCTION. CREATE FUNCTION nazwa_funkcji RETURN typ_zwracanych_danych IS deklaracje zmiennych kod RETURN wynik; Wywołanie funkcji może nastąpić z poziomu instrukcji SQL, np. SELECT nazwa_funkcji FROM dual; lub z poziomu innego programu PL/SQL. Usunięcie funkcji odbywa się za pomocą instrukcji DROP FUNCTION nazwa;.
3 Użycie parametrów w funkcjach CREATE OR REPLACE FUNCTION suma RETURN INT IS liczba1 INT:=90; liczba2 INT:=100; suma INT; suma:=liczba1+liczba2; RETURN suma; Funkcje oraz procedury mogą mieć parametry. Wyróżniamy trzy typy parametrów: IN - parametr tylko do odczytu, służy do przekazania danych do funkcji lub procedury; OUT - parametr wyjściowy, umożliwia zwrócenie danych przez program; ma wartość NULL do momentu zainicjalizowania; IN OUT - parametr wejściowo/wyjściowy; 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. Parametry wejściowe W funkcjach zazwyczaj używa się tylko parametrów typu IN. Definicja funkcji z uwzględnieniem parametrów wejściowych (IN) ma postać: CREATE FUNCTION nazwa_funkcji (parametr1 IN typ_danych, parametr2 IN typ_danych,...) RETURN typ_zwracanych_danych IS deklaracje zmiennych kod RETURN wynik; Uwaga. Używając typów CHAR, NUMBER, VARCHAR2 dla parametrów funkcji i procedur nie podajemy zakresu (jest wyliczany na podstawie danych wejściowych i wyjściowych). Definicja funkcji liczącej średnią dwóch liczb: CREATE OR REPLACE FUNCTION srednia (liczba1 IN NUMBER, liczba2 IN NUMBER) RETURN NUMBER IS srednia NUMBER; srednia:=(liczba1+liczba2)/2; RETURN srednia; Wywołanie funkcji srednia: SELECT srednia(1,2) FROM dual;
4 Instrukcje sterujace języka PL/SQL Instrukcja przypisania := zmienna :=wyrażenie; np. kwota:=100; akt_data:=sysdate; Instrukcje warunkowe Instrukcja warunkowaif...then...end IF. Składnia instrukcji IF: IF warunek THEN instrukcje; ELSIF warunek THEN instrukcje; ELSE instrukcje END IF; Jeżeli warunek podany w wyrażeniu IF jest spełniony, wykonywany jest blok instrukcji występujący za THEN. W przeciwnym przypadku i gdy spełniony jest warunek wyrażenia ELSIF, wykonywany jest blok instrukcji występujący po tym wyrażeniu. Jeżeli ten warunek nie jest spełniony, wykonywane są instrukcje z bloku ELSE. Uwaga. Użycie klauzul ELSIF oraz ELSE nie jest wymagane. Przy testowaniu i uruchamianiu aplikacji składających się z kodu PL/SQL wygodnie jest pobierać dane do testowania z klawiatury i wypisywać informacje o przebiegu obliczeń na ekran. Realizuje się to za pomocą instrukcji: DBMS_OUTPUT.Put_line(wyrażenie_napisowe); Instrukcja warunkowa CASE test INT; wynik VARCHAR2(10); test:=1; IF test<0 THEN wynik:= ujemna ; ELSIF test<=2 THEN wynik:= przedział [0,2] ; ELSE wynik:= większe od 2 ; END IF; dbms_output.put_line(wynik); Instrukcja CASE występuje w dwóch formach. Użycie CASE z wyszukiwaniem, jak poniżej powoduje, że sprawdzane są kolejno warunki w klauzulach WHEN, do momentu natrafienia na taki, który będzie spełniony. Wykonywany będzie wówczas odpowiedni blok instrukcji. Pozostałe warunki nie są sprawdzane. Jeżeli żaden warunek nie jest spełniony, wykonywane są instrukcje z klauzuli ELSE (o ile taka klauzula istnieje). CASE WHEN warunek1 THEN instrukcje1; WHEN warunek2 THEN instrukcje2;... ELSE instrukcje; END CASE;
5 Instrukcja warunkowa CASE Użycie CASE: i NUMBER(1) := 3; CASE WHEN i=1 THEN DBMS_OUTPUT.PUT_LINE( i wynosi 1 ); WHEN i>2 THEN DBMS_OUTPUT.PUT_LINE( i jest większe od 2 ); ELSE DBMS_OUTPUT.PUT_LINE( i wynosi i); END CASE; Druga forma instrukcji CASE sprawdza, czy wartość danego wyrażenia (zwanego selektorem) jest równa jednemu z wymienionych wyrażeń. Jeżeli tak, to wykonywane są odpowiednie instrukcje. Jeżeli wartość wyrażenia nie zostanie dopasowana, wykonywana jest klauzula ELSE (o ile występuje). CASE selektor WHEN wyrażenie1 THEN instrukcje1; WHEN wyrażenie2 THEN instrukcje2;... ELSE instrukcje; END CASE; Pętle. Pętla LOOP Pętle LOOP jest definiowana przy użyciu klauzul LOOP i END LOOP. Aby zakończyć działanie pętli LOOP, musimy podać warunek wyjścia: albo korzystając z klauzuli EXIT WHEN albo stosując instrukcję IF z klauzulą EXIT. Przykład pętli LOOP: i INT; i:=1; LOOP dbms_output.put_line( i= TO_CHAR(i)); EXIT WHEN i=10; i:=i+1; END LOOP; Pętla WHILE Pętli WHILE używamy aby instrukcja (lub blok instrukcji) była wykonywana, dopóki spełniony jest warunek pętli. WHILE warunek LOOP instrukcje END LOOP Definiując warunek w pętli WHILE należy pamiętać, że pętla będzie wykonywana tak długo, jak długo warunek określony w pętli będzie spełniony. Aby uniknąć pętli nieskończonej, należy umieścić w ciele pętli kod odpowiedzialny za zmianę tego warunku na fałszywy. Uwaga. Działanie pętli WHILE można również przerwać, stosując klauzulę EXIT WHEN.
6 Pętla FOR Podstawowe typy danych w PL/SQL Pętli FOR używamy, gdy znamy liczbę iteracji. FOR iterator IN 1..n LOOP instrukcje END LOOP Zmienna iterator użyta do zdefiniowania pętli FOR nie jest deklarowana. Jej zasięg ogranicza się tylko do pętli. Nie można się do niej odnosić poza blokiem pętli. Domyślnie podaje się najpierw mniejszą, a potem większą z wartości zakresu iteratora, którego wartość w każdej iteracji jest zwiększana o 1. Aby to odwrócić, należy zdefiniować pętlę z opcją REVERSE: FOR iterator IN REVERSE 1..n LOOP END LOOP. NUMBER[(precision,scale)]: przechowuje liczby zarówno stałoprzecinkowe, jak zmiennoprzecinkowe. Parametr precision określa ilość cyfr całej liczby, parametr scale liczbę miejsc po przecinku. Zakres parametru precision wynosi 38 (domyślnie 38), skala może być z przedziału od -84 do 127(domyślnie 0). Liczbę całkowitą definiujemy następująco: NUMBER(p) lub NUMBER(p,0). Można też użyć podtypu INT. Liczby stałoprzecinkowe definiujemy podając obydwa parametry, liczby zmiennoprzecinkowe - tylko NUMBER, bez parametrów. Podstawowe typy danych w PL/SQL CHAR(n) - typ znakowy stałej długości, n musi być z zakresu od 1 do Jeżeli nie zdefiniujemy zakresu, domyślnie przyjmowane jest n=1. VARCHAR2(n) - typ znakowy zmiennej długości, n musi być określone, zakres od 1 do BOOLEAN - typ logiczny, przechowuje tylko wartości TRUE, FALSE, i NULL (która odpowiada brakowi wartości lub wartości nieokreślonej). Na zmiennych typu BOOLEAN można wykonywać tylko operacje logiczne. DATE - przechowuje datę oraz czas. Tablice i typ rekordowy W PL/SQL można definiować własne typy danych (np. tablice, rekordy), w oparciu o typy bazowe. Definicja typu tablicowego: tablica o zadeklarowanym maksymalnym rozmiarze: VARRAY(n) OF typ danych; aby zadeklarować tablicę nie określając maksymalnego rozmiaru, używamy konstrukcji TABLE OF typ danych, np. TYPE tabela1 IS TABLE OF VARCHAR2(30); TYPE tabela2 IS VARRAY(5) OF INTEGER; tab1 tabela1; tab2 tabela2; tab1 := tabela1( IiESP, MatSP, IDSP ); tab2 := tabela2(1, 2, 3, 4, 5); tab1(2):= MatSD ; tab2(1):=7;
7 Tablice w PL/SQL Tablice typu VARRAY(n) będziemy nazywali varray, natomiast tablice typu TABLE - tabelami zagnieżdżonymi. Zanim zostanie zainicjalizowana za pomocą konstruktora tablica, varray lub tabela zagnieżdżona, ma wartość NULL (tzn. cała kolekcja ma wartość NULL, a nie jej poszczególne elementy). Konstruktor to wbudowana funkcja, o nazwie takiej samej, jak nazwa typu, która tworzy kolekcję z elementów do niej przekazanych. TYPE tabela1 IS TABLE OF VARCHAR2(30);// definicje TYPE tabela2 IS VARRAY(5) OF INTEGER;// typów tab1 tabela1; tab2 tabela2; tab1 := tabela1( IiE, Mat, ID ); //konstruktor tab2 := tabela2(1, 2, 3, 4, 5); //konstruktor Tablice w PL/SQL Dobrze jest inicjalizować kolekcję w momencie jej deklaracji: TYPE ListaKursow IS TABLE OF VARCHAR2(16); kursy ListaKursow := ListaKursow( Mat 1111, Hist 3100, Biol 2005 ); Można także stworzyć pustą kolekcję (ale NOT NULL), w tym celu wywołujemy konstruktor bez argumentów: TYPE Klient IS VARRAY(100) OF VARCHAR2(16); vip Klient := Klient();//inicjalizujemy pusta tablicę varray IF vip IS NOT NULL THEN...// warunek daje TRUE... END IF; Metody kolekcji Przy używaniu kolekcji, można wykorzystać poniższe metody, aby ułatwić pracę z kolekcjami i uczynić kod bardziej czytelnym: EXISTS COUNT LIMIT FIRST i LAST PRIOR i NEXT EXTEND TRIM DELETE Metoda kolekcji to wbudowana funkcja lub procedura operująca na kolekcji. Aby się do niej odwołać, używamy notacji kropkowej: nazwa_kolekcji.metoda[(parametry)] Uwaga. jeżeli kolekcja jest NULL, to każda metoda poza EXISTS wywołuje wyjątek (COLLECTION_IS_NULL). EXISTS EXISTS(n) zwraca TRUE, jeżeli n-ty element kolekcji istnieje (FALSE w każdym innym przypadku, czyli też, jak indeks jest spoza zakresu), np. IF kursy.exists(i) THEN kursy(i) := nowy_kurs; END IF; Można użyć np., do rzadkich tablic zagnieżdżonych. COUNT COUNT zwraca liczbę elementów, które aktualnie zawiera kolekcja, np.: IF projekty.count = 25 THEN... lub jako zakres pętli: FOR i IN 1..kursy.COUNT LOOP... COUNT jest użyteczne, bo aktualny rozmiar tabeli nie zawsze jest znany. Uwaga. Dla tablic varray, COUNT jest zawsze równe LAST. Dla tabel zagnieżdżonych, COUNT zazwyczaj jest równe LAST, ale, jeżeli wykasujemy elementy za środka tabeli, to wówczas COUNT będzie mniejsze niż LAST (COUNT nie zlicza wykasowanych elementów).
8 LIMIT Dla tablic varray, LIMIT określa maksymalny rozmiar (czyli liczbę elementów, które może przechować) danej tablicy. FIRST i LAST Zwracają pierwszy i ostatni(czyli najmniejszy i największy) indeks w kolekcji. Jeżeli kolekcja jest pusta, zwracają NULL. Można wykorzystać FIRST i LAST do określenia zakresu pętli (pod warunkiem, że każdy element z tego zakresu istnieje): FOR i IN kursy.first..kursy.last LOOP... PRIOR(n) i NEXT(n) - używamy do iterowania po elementach kolekcji. PRIOR(n) zwraca indeks elementu poprzedzającego element o indeksie n, NEXT(n) - indeks kolejnego. Jeżeli dany element nie istnieje, obie metody zwracają NULL. Można użyć PRIOR lub NEXT do przeglądania np. tabeli zagnieżdżonej, z której niektóre elementy zostały wykasowane: i := kursy.first; //indeks pierwszego elementu WHILE i IS NOT NULL LOOP wykonujemy operacje na kursy(i) i := kursy.next(i); //pobieramy indeks kolejnego END LOOP; Zwiększanie rozmiaru kolekcji: metoda EXTEND Procedura ma trzy formy: EXTEND dodaje pusty element do kolekcji (na końcu); EXTEND(n) dodaje n pustych elementów do kolekcji; EXTEND(n,i) dodaje n kopii i-tego elementu. Np., dodajemy pięć razy kopię pierwszego elementu do tabeli zagnieżdżonej: kursy.extend(5,1); uwaga. EXTEND nie można użyć do kolekcji będącej NULL. EXTEND bierze pod uwagę także wykasowane elementy, więc w poniższym kodzie, indeks ostatniego elementu w tabeli to 4, a nie 3. TYPE ListaKursow IS TABLE OF VARCHAR2(10); kursy ListaKursow; kursy := ListaKursow( Biol, Mat, Alg ); kursy.delete(3); //kasujemy element nr 3 /* PL/SQL trzyma miejsce dla elementu nr 3, zatem kolejna instrukcja odnosi się do elementu 4, a nie do 3*/ kursy.ext //dodajemy jeden pusty element kursy(4) := Fiz ;//element 4 istnieje Zmniejszanie rozmiaru kolekcji TRIM. Procedura ma dwie formy: TRIM usuwa element z końca kolekcji; TRIM(n) usuwa n elementów z końca kolekcji. Np., usuwanie trzech ostatnich elementów z tabeli zagnieżdżonej kursy: kursy.trim(3); Uwaga. jeżeli n jest spoza zakresu, TRIM(n) zwraca wyjątek (SUBSCRIPT_BEYOND_COUNT). TRIM bierze pod uwagę wykasowane elementy.
9 Kasowanie elementów tabel zagnieżdżonych DELETE. Procedura ma trzy formy: DELETE usuwa wszystkie elementy z kolekcji. DELETE(n) usuwa n-ty element (o ile istnieje). DELETE(m,n) usuwa elementy z zakresu od m do n. kursy.delete(2); // kasuje element 2 kursy.delete(7,7); // kasuje element 7 kursy.delete(6,3); // nic nie robi kursy.delete(3,6); // usuwa elementy od 3 do 6 Uwaga. Nie można kasować elementów w tablicach varray (są "gęste", tzn. nie można tworzyć dziur). PL/SQL trzyma miejsce dla wykasowanych elementów, wykasowany element można prosto zastąpić nowym, wystarczy mu przypisać nową wartość. Tablice i typ rekordowy Typem rekordowym (rekordem) nazywamy złożoną strukturę danych, której składowe, zwane polami, mogą należeć do różnych typów. Definicję typu rekordowego umieszczamy w sekcji bloku: TYPE nazwa IS RECORD( lista deklaracji pól rekordu ); Np.: rekord do przechowywania danych samochodu: TYPE samochod IS RECORD( marka VARCHAR2(30), rocznik INT, cena NUMBER(10) ); Zmienną rekordową deklarujemy następująco: moje_auto samochod; Odwołując się do pól rekordu używamy notacji kropkowej, np. moje_auto.marka Atrybuty %TYPE i %ROWTYPE Atrybuty %TYPE i %ROWTYPE Atrybutu %TYPE można użyć, aby zadeklarować zmienną, której typ zostanie nadany na podstawie typu danych kolumny w tabeli. Jest to użyteczne, jeżeli zmienna ma za zadanie przechowywać wartości z okreslonej kolumny tabeli. Dla przykładu, aby zdefiniować zmienną v_last_name, która będzia miała taki sam typ danych, jak kolumna last_name w tabeli employee, należy użyć notacji kropkowej oraz atrybutu %TYPE: v_last_name employee.last_name%type; Podejście takie ma dwie zalety. Po pierwsze, nie musimy znać dokładnego typu danych kolumny last_name. Po drugie, jeżeli zmienimy w bazie typ danych kolumny last_name, to automatycznie zmieni się typ zmiennej v_last_name. Atrybut%ROWTYPE umożliwia zadeklarowanie zmiennej rekordowej, reprezentującej wiersz tabeli. Taki rekord może przechowywać wiersz wybrany z tabeli lub kursora. Pola rekordu mają takie same nazwy i typy danych, jak odpowiadające im kolumny. Dla przykładu, zadeklarujemy rekord dept_rec. Pola tego rekordu mają takie same nazwy i typy danych, jak kolumny w tabeli department: dept_rec department%rowtype; Aby odwołać się do pól rekordu, używamy notacji kropkowej: v_deptid := dept_rec.dept_id;
10 Kursory Kursory Każde polecenie SQL, umieszczone w programie PL/SQL, w trakcie wykonania zostaje skojarzone z obszarem pamięci (tzw. obszarem roboczym), w którym przechowywane są informacje o przetwarzanym poleceniu: m.in. status wykonania polecenia i zbiór odczytanych z bazy danych rekordów (w przypadku zapytania). Dostęp w programie PL/SQL do tego obszaru pamięci jest możliwy za pomocą specjalnej struktury, tzw. kursora. Kursor umożliwia: nadanie nazwy obszarowi roboczemu, dostęp do niego, pobranie z niego danych, kontrolę procesu przetwarzania danych. Rodzaje kursorów: jawne (explicit) - są deklarowane przez programistę i służą do odczytu zbioru rekordów z bazy danych, niejawne (implicit) - tworzone automatycznie dla każdego polecenia UPDATE, INSERT, DELETE i SELECT INTO, jakie zostaje umieszczone w programie. Przetwarzając kursor musimy wykonać cztery operacje: zadeklarować kursor, otworzyć go, pobrać wiersze, zamknąć kursor. Pętla kursorowa CURSOR moj_kursor IS SELECT * FROM employee WHERE dept_no= 000 ; osoba employee%rowtype; OPEN moj_kursor; FETCH moj_kursor INTO osoba; dbms_output.put_line( Dane osoby: osoba.full_name); CLOSE moj_kursor; Użycie petli kursorowej umożliwia pobranie kolejnych rekordów z kursora. Nie ma konieczności otwierania ani zamykania kursora (odpowiada za to pętla), np. CURSOR moj_kursor IS SELECT * FROM employee WHERE dept_no= 000 ; FOR osoba IN moj_kursor LOOP dbms_output.put_line( Dane osoby: osoba.full_name); END LOOP; Zmienna wierszowa osoba jest deklarowana niejawnie, jest widoczna tylko wewnątrz pętli kursorowej. Przechowuje dane kolejno pobranych rekordów z kursora.
11 Atrybuty kursora Atrybuty kursora określają jego właściwości. ISOPEN zwraca true, jeżeli kursor jest otwarty. ROWCOUNT zwraca liczbę wierszy, które zostały już pobrane z kursora. NOTFOUND sprawdza, czy w kursorze pozostały jeszcze jakieś wiersze. Jeżeli kursor nie zawiera już żadnych danych, to zwraca true, jeżeli w kursorze pozostał jeszcze jakiś wiersz, zwraca false. FOUND sprawdza, czy w kursorze pozostały jeszcze jakieś dane, zwraca true jeżeli tak, false przeciwnie. CURSOR kursor1 IS SELECT * FROM countries; kraj countries%rowtype; ile INT; OPEN kursor1; IF kursor1%isopen THEN Dbms_Output.put_line( otwarty ); END IF; FETCH kursor1 INTO kraj; ile:=kursor1%rowcount; CLOSE kursor1; Dbms_Output.put_line(ile); Kursory sparametryzowane Kursory sparametryzowane Poniższy kod wyświetla id oraz nazwę każdego kraju z regionu nr 1. CURSOR kraje1 IS SELECT * FROM countries WHERE region_id=1; FOR kraj IN kraje1 LOOP Dbms_Output.put_line( kraj.country_id kraj.country_name); END LOOP; Chcemy zmienić id regionu w warunku WHERE kursora, aby mieć możliwość wyboru krajów także z innych regionów. W tym celu można użyć kursora sparametryzowanego. CURSOR kraje2(id INT) IS SELECT * FROM countries WHERE region_id =id; FOR kraj IN kraje2(2) LOOP Dbms_Output.put_line( kraj.country_id kraj.country_name); END LOOP; Kursor kraje2 jest kursorem sparametryzowanym, z parametrem id.
12 Kursory sparametryzowane Możliwe jest określenie więcej niż jednego parametru kursora, np.: CURSOR c1 (dzial CHAR, zarobki NUMBER) IS SELECT * FROM employee WHERE dept_no=dzial AND salary >=zarobki; Używając kursora, należy przekazać wartości wszystkich parametrów, np. otwarcie kursora c1: OPEN c1( 100,2500); Można określić wartości domyślne dla parametrów kursora: CURSOR c1 (dzial CHAR, zarobki NUMBER DEFAULT 2000) IS SELECT * FROM employee WHERE dept_no=dzial AND salary >=zarobki;
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
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
DECLARE typ [( )] [ NOT NULL ] [ { := DEFAULT } ];
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
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?
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
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?
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
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
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
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
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
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
Kursor jawny. Rozdział 10a Kursory. Deklarowanie kursora (1) Deklarowanie kursora (2)
Kursor jawny Każde zapytanie SQL umieszczone w programie PL/SQL może zwrócić zero, jedną bądź wiele krotek. Aby efektywnie przetworzyć krotkizwrócone przez zapytanie korzystamy z kursorów. Kursor jest
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
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
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,
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.
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.
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
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
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
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.;
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
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........................
Oracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 9 Kolekcje Operacje na kolekcjach Testowanie kolekcji Kolekcje w bazie danych Funkcje tabelaryczne Kolekcje wielopoziomowe - 2 -
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
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
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
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
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:
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
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)
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]...
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
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
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
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
Kursory - pobieranie danych z baz danych do programów PL/SQL
Kursory - pobieranie danych z baz danych do programów PL/SQL Rozważania będą dotyczyć sposobów pobierania danych z baz danych do programów przechowywanych w pamięci. Interakcja języka PL/SQL z językiem
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
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.
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
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
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
Laboratorium nr 4. Temat: SQL część II. Polecenia DML
Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze
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
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,
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
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
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
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
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
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
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ą
Materiały do laboratorium MS ACCESS BASIC
Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I
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
Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.
Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie
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
Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać
MatLab część III 1 Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać komentarze poprzedzone znakiem % Skrypty
Administracja i programowanie pod Microsoft SQL Server 2000
Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 5 Kursory w SQL Serverze Wprowadzenie Modele kursorów Używanie kursorów Rodzaje kursorów Praca
Systemy GIS Tworzenie zapytań w bazach danych
Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE
Ref. 7 - Język SQL - polecenia DDL i DML
Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość
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
Relacyjne bazy danych. Podstawy SQL
Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.
Ć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.
Oracle11g: Wprowadzenie do SQL
Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom
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ą
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
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.................................
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
Ć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
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
D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?
D D L S Q L Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L - p o d s t a w y DDL SQL (Data Definition Language) Jest to zbiór instrukcji i definicji danych, którym posługujemy się
Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych
Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł
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
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
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
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
ZASADY PROGRAMOWANIA KOMPUTERÓW
POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.
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
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ść
Kursory. A. Pankowska 1
Kursory 1 Kursory Kursor jest mechanizmem pozwalającym obsłużyć zbiór zawierający wiele wierszy danych (generowany np. poleceniem SELECT). Jak wskaźnik przebiega on po kolejnych krotkach ze zbioru 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
Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()
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
Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem
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
PL/SQL. Zaawansowane tematy PL/SQL
PL/SQL Zaawansowane tematy PL/SQL Cele Przypomnienie kursorów Przypomnienie procedur i funkcji składowanych Poznanie pakietów składowanych 2 Bazę danych Oracle możemy traktować jakby była złożona z dwóch
Relacyjne bazy danych. Podstawy SQL
Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.
SQL (ang. Structured Query Language)
SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze
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,
Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza
4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza
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
T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15
T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest
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
Obiektowe bazy danych Ćwiczenia laboratoryjne (?)
Obiektowe bazy danych Ćwiczenia laboratoryjne (?) Tworzenie typów obiektowych 1. Zdefiniuj typ obiektowy reprezentujący SAMOCHODY. Każdy samochód powinien mieć markę, model, liczbę kilometrów oraz datę
Liczby losowe i pętla while w języku Python
Liczby losowe i pętla while w języku Python Mateusz Miotk 17 stycznia 2017 Instytut Informatyki UG 1 Generowanie liczb losowych Na ogół programy są spójne i prowadzą do przewidywanych wyników. Czasem jednak
Wstęp do programowania 2
Wstęp do programowania 2 wykład 1 rekordy z wyróżnikami Agata Półrola Wydział Matematyki UŁ 2005/2006 Egzamin z I roku - problemy Problemy z wczytywaniem danych: skip_line Problemy z obliczeniami: zerowanie
Wstęp do programowania. Różne różności
Wstęp do programowania Różne różności Typy danych Typ danych określa dwie rzeczy: Jak wartości danego typu są określane w pamięci Jakie operacje są dozwolone na obiektach danego typu 2 Rodzaje typów Proste
Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk
Wstęp wprowadzający do laboratorium 2 mgr inż. Rafał Grycuk Plan prezentacji 1. Czym jest T-SQL i czym się różni od standardu SQL 2. Typy zapytań 3. Zapytanie typu SELECT 4. Słowo o indeksach T-SQL (1)