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



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

PODSTAWY BAZ DANYCH 13. PL/SQL

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

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

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

PL/SQL. Zaawansowane tematy PL/SQL

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

Oracle PL/SQL. Paweł Rajba.

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

Cheatsheet PL/SQL Andrzej Klusiewicz 1/9

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

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

Deklarowanie kursora

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

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

Bloki anonimowe w PL/SQL

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

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

Bloki anonimowe w PL/SQL

Procedury i funkcje składowane

1. ELEMENTY JĘZYKA PL/SQL

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

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

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

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

Oracle PL/SQL. Paweł Rajba.

15. Funkcje i procedury składowane PL/SQL

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

Zaawansowane bazy danych i hurtownie danych semestr I

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

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

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

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

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Pakiety podprogramów Dynamiczny SQL

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

Kursor jawny. Rozdział 10a Kursory. Deklarowanie kursora (1) Deklarowanie kursora (2)

Tabele wykorzystywane w przykładach

Kursory. A. Pankowska 1

Tworzenie u ytkownika. ORACLE (Wykład 6) Uwierzytelnianie u ytkowników. Przył czenie u ytkownika do bazy. Nadawanie uprawnie systemowych

Materiały do laboratorium MS ACCESS BASIC

BAZY DANYCH W APLIKACJACH SIECIOWYCH

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

Język PL/SQL Wprowadzenie

Wyzwalacze. Anna Fiedorowicz Bazy danych 2

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

Kursory - pobieranie danych z baz danych do programów PL/SQL

Oracle Developer/2000 Form Builder

SQL 4 Structured Query Lenguage

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

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

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

Oracle11g: Programowanie w PL/SQL

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

ĆWICZENIE Uruchomić Oracle Forms Builder. 2. Utworzyć nowy formularz (File->New->Form) 3. Nawiązać połączenie z bazą danych (file-connect).

PL/SQL. Zaawansowane tematy PL/SQL

Język PL/SQL Wprowadzenie

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

Oracle PL/SQL. Paweł Rajba.

Oracle10g: Programowanie w PL/SQL

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

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.

Język PL/SQL Pakiety podprogramów

Specjalnościowy Obowiązkowy Polski Semestr trzeci

Indeksy. Indeks typu B drzewo

Technologie baz danych WYKŁAD 7: Wyjątki

Zaawansowane bazy danych i hurtownie danych semestr I

Ćwiczenia 2 IBM DB2 Data Studio

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

Oracle PL/SQL. Paweł Rajba.

Bazy danych 2 Laboratorium 2

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

Wstęp do programowania 2

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

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

Oracle PL/SQL. Paweł Rajba.

Plan wykładu BAZY DANYCH II WYKŁAD 9. Dynamiczny SQL. Dynamiczny SQL

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

Comarch ERP XL Business Intelligence Start. Migracja do wersji 2018

Wyzwalacze (triggery) Przykład

Ada-95. Dariusz Wawrzyniak

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Oracle Designer i Oracle Form Builder

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

WHEN_NEW_FORM_INSTANCE

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

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

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

1. Wyzwalacze BD (ang. triggers)

Podprogramy. Rozdział 11 Procedury i funkcje składowane

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

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

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

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

Obowiązuje od wersji

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

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

Cele. Definiowanie wyzwalaczy

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

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Transkrypt:

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) Reports Builder raporty JDeveloper środowisko programistyczne dla Javy Oracle Designer modelowanie danych Oracle Repository zarządzanie tworzonymi projektami

Plan wykładu Język PL/SQL Tworzenie aplikacji jednoformularzowej Definiowanie zbiorów danych i powiązań między nimi Rozszerzanie funkcjonalności i upiększanie Wyzwalacze, pakiety i procedury wbudowane Menu Tworzenie raportów Model danych, układ raportu, podsumowania, wykresy

Aplikacja Oracle Forms Programowanie wizualne, zdarzeniowe i obiektowe Dwa sposoby patrzenia na powiązania między obiektami Formularz Blok Rekord Element Kanwa Formularz Okno Kanwa Element

Zdarzenia i wyzwalacze Wyzwalacze reakcją na zdarzenia Język PL/SQL opisuje działanie wyzwalaczy 3 poziomy obowiązywania (formularz, blok danych, element danych) 3 sposoby uruchamiania Execution Hierarchy (Override, Before, After)

Rodzaje wyzwalaczy Podział ze względu na prefix (WHENxxx, PRE-xxx, ON/KEY-xxx, POST-xxx) Podział ze względu na wykonywane czynności (przetwarzanie bloku, interface użytkownika, KEY-xxx, zależności między blokami, nawigowanie, obsługa myszy, zapytania, procedury zapisane, obsługa transakcji, walidacja)

Wyzwalacze związane z przetwarzaniem bloku WHEN-CREATE-RECORD WHEN-CLEAR-BLOCK WHEN-DATABASE-RECORD WHEN-REMOVE-RECORD

Interface z użytkownikiem WHEN-BUTTON-PRESSED WHEN-CHECKBOX-CHANGED WHEN-IMAGE-ACTIVATED KEY-xxx (KEY-DOWN, KEY-HELP, KEY-F2...) WHEN-RADIO-CHANGED WHEN-TIMER-EXPIRED WHEN-WINDOW-ACTIVATED WHEN-WINDOW-CLOSED WHEN-WINDOW-DEACTIVATED WHEN-WINDOW-RESIZED

Relacja między blokami ON-CHECK-DELETE-MASTER ON-CLEAR-DETAILS ON-POPULATE-DETAILS Komunikaty systemu ON-ERROR ON-MESSAGE

Wyzwalacze walidacyjne WHEN-VALIDATE-ITEM WHEN-VALIDATE-RECORD Realizacja zapytania PRE-QUERY POST-QUERY

Wyzwalacze nawigacyjne PRE-FORM, PRE-BLOCK, PRE-RECORD, PRE-TEXT-ITEM WHEN-NEW-FORM-INSTANCE, WHEN NEW-BLOCK-INSTANCE, WHEN NEW-RECORD-INSTANCE, WHEN-NEW-ITEM-INSTANCE POST-FORM, POST-BLOCK, POST RECORD, POST-TEXT-ITEM

Wyzwalacze transakcyjne PRE-COMMIT, PRE-DELETE, PRE-INSERT, PRE-UPDATE ON-DELETE, ON-INSERT, ON-LOCK, ON LOGON, ON-LOGOUT, ON-UPDATE POST-DATABASE-COMMIT, POST-DELETE, POST INSERT, POST-UPDATE

Model przetwarzania zdarzeń Formularz Blok A Element A1 Element A2 Blok B Element B1 Element B2 Element B3

Model przetwarzania zdarzeń -cd. Walidacja pola A2 When-Validate-Item Opuszczenie pola A2 Post-Text-Item Walidacja w ramach rekordu A When-Validate-Record Opuszczenie rekordu A Post-Record Opuszczenie bloku A Post-Block Wejście do bloku B Pre-Block Wejście do rekordu B Pre-Record Wejście do pola B1 Pre-Text-Item Blok B gotowy do wprowadzania When-New-Block-Instance Rekord B gotowy do wprowadzania When-New-Record-Instance Element B1 gotów do wprow. When-New-Item-Instance

Zakres obowiązywania wyzwalaczy Formularz Blok A Element A1 Element A2 Blok B Element B1 Element B2 Element B3

Oracle Developer Suite Język PL/SQL Wybrane konstrukcje

Struktura bloku Podstawowy element składni. Kod wyzwalacza to nienazwany blok. [ DECLARE -- deklaracje ] BEGIN -- instrukcje [ EXCEPTION -- reakcja na wyjątki ] END;

Deklaracje stałych i zmiennych Każda zmienna bądź stała musi być zadeklarowana. zmienna INTEGER; Dostępne są typy SQL (CHAR, DATE, NUMBER, itd.) jak i pochodzące z Ady (BOOLEAN, INTE- GER, itd.). Można używać typów złożonych RE- CORD i TABLE. Możliwe też deklarowanie stałych minimum CONSTANT REAL := 10.00;

Nadawanie wartości zmiennym -- inicjalizacja podczas deklaracji dalej BOOLEAN := TRUE; -- nadanie wartości w instrukcji przypisania zmienna := 10; -- użycie frazy INTO instrukcji SELECT SELECT nrp INTO NrPracownika FROM Pracownicy WHERE Nazwisko = 'Kowalski'

Atrybuty %TYPE i %ROWTYPE Zmienne oprócz wartości i typu posiadają atrybuty. Są one szczególnie przydatne przy odwoływaniu się do typów obiektów z bazy danych NrPracownika Pracownicy.Nrp%TYPE; Zespol Zespoly%ROWTYPE;

Deklaracje kursorów Oprócz zwykłych zmiennych można deklarować kursory CURSOR Kobiety IS SELECT * FROM Pracownicy WHERE Plec = 'K'; Kobieta Kobiety%ROWTYPE

Użycie kursorów Kursory pozwalają sekwencyjnie przetwarzać wiersze będące wynikiem zapytania OPEN Kobiety LOOP FETCH Kobiety INTO Kobieta; EXIT WHEN Kobiety%NOTFOUND; -- przetwarzanie END LOOP; CLOSE Kobiety;

Atrybuty kursorów Kursory posiadają dodatkowe atrybuty: %ROWTYPE %NOTFOUND %FOUND %ROWCOUNT (liczba już zwróconych wierszy) %ISOPEN

Instrukcja warunkowa IF warunek THEN instrukcje; [ ELSIF warunek THEN instrukcje; ] [ ELSE instrukcje; ] END IF;

Instrukcja pętli LOOP instrukcje; EXIT [ WHEN war ] instrukcje; END LOOP WHILE warunek LOOP instrukcje; END LOOP FOR i IN 1..Max LOOP instrukcje END LOOP FOR Kobieta IN Kobiety LOOP instrukcje; END LOOP

Wyjątki Są reakcją na różnorodne błędy w aplikacji. W efekcie wystąpienia wyjątku sterowanie przechodzi do bloku obsługi wyjątku. Wyjątek można zgłosić jawnie instrukcją RAISE EXCEPTION WHEN ZERO_DIVIDE THEN -- obsługa wyjątku; WHEN OTHERS THEN -- obsługa pozostałych wyjątków;

Oracle Developer Suite Inne wybrane obiekty

Rekord :SYSTEM Predefiniowany rekord zawierający różne informacje o stanie systemu. Wybrane pola: CURRENT_DATETIME, RECORD_STATUS, BLOCK_STATUS, FORM_STATUS, CURRENT_BLOCK, CURRENT_FORM, CURRENT_ITEM, LAST_QUERY, LAST_RECORD, MODE

Tryb pracy :SYSTEM.MODE Wyróżnia się 3 tryby pracy NORMAL, ENTER_QUERY i QUERY. Zmiana trybu pracy możliwa programowo za pomocą procedur wbudowanych: Enter_Query i Execute_Query IF :SYSTEM.MODE = NORMAL THEN Enter_Query; ELSE Execute_Query; END IF;

Procedury wbudowane Get_Item_Property, Set_Item_Property Get_Block_Property, Set_Block_Property... Go_Block, Go_Item Enter_Query, Execute_Query Message Show_LOV, Show_Alert

Alerty DECLARE wybor NUMBER; BEGIN... wybor := Show_Alert( 'ALERT_xx' ); IF wybor = ALERT_BUTTON1 THEN... END IF;... END;

Oracle Developer Suite Dziękuję za uwagę