Jazyk PL/SQL Úvod, blok

Podobné dokumenty
PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL

Programovací jazyk Pascal

Dotazovací jazyk SQL a PL/SQL. 8. Přednáška

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Databáze I. Přednáška 4

5 Přehled operátorů, příkazy, přetypování

Embedded SQL v C/C++ úvod. Administrace Oracle Kateřina Opočenská

Úvod do databázových systémů

Transformace konceptuálního modelu na relační

Ukázka knihy z internetového knihkupectví

12. Postrelační databázové systémy

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

12. Postrelační databázové systémy

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Algoritmizace a programování

KIV/ZIS cvičení 5. Tomáš Potužák

Text úlohy. Systémový katalog (DICTIONARY):

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

ÚVOD DO DATABÁZÍ II (DISTANČNÍ VÝUKOVÁ OPORA)

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

dovolují dělení velkých úloh na menší = dekompozice

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Úvod do programovacích jazyků (Java)

Sada 1 - Základy programování

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

Java reprezentace dat, výrazy. A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické

Databáze I. Přednáška 7

Paměť počítače. alg2 1

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Popis programovacího jazyka PL/SQL

FIREBIRD relační databázový systém. Tomáš Svoboda

Sada 1 - Základy programování

Datové typy strana 29

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

NPRG031 Programování II --- 2/2 Z, Zk

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Objektově relační databáze a ORACLE 8

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

10. Architektura klient/server a třívrstvá architektura

10. Architektura klient/server a třívrstvá architektura

Databázové systémy a SQL

Databázové systémy Cvičení 5.2

Úvod do programovacích jazyků (Java)

Zápis programu v jazyce C#

Databázové systémy a SQL

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)

DUM 12 téma: Příkazy pro tvorbu databáze

Úvod do programování. Lekce 1

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

Popis souboru pro generování reportů *.report

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Algoritmizace a programování

Úvod do databázových systémů

Tento blok je věnován vytváření uživatelských balíků funkcí v jazyce PL/SQL a použití systémových balíků. 2-3 hodiny

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Abstraktní datové typy Objektový přístup v Oracle

NPRG030 Programování I, 2015/16 1 / :25:32

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

Programování v jazyce JavaScript

DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY

TVORBA APLIKACÍ V ORACLE FORMS I.

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE

NPRG030 Programování I, 2010/11

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/

Databázové systémy a SQL

Distanční opora předmětu: Databázové systémy Tématický blok č. 8: Transact SQL Autor: RNDr. Jan Lánský, Ph.D.

Úvod do databázových systémů

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje

První kapitola úvod do problematiky

NPRG030 Programování I, 2016/17 1 / :58:13

Objektově orientované programování

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

Příklady: (y + (sin(2*x) + 1)*2)/ /2 * 5 = 8.5 (1+3)/2 * 5 = /(2 * 5) = 1.3. Pavel Töpfer, 2017 Programování 1-3 1

MAXScript výukový kurz

RELAČNÍ DATABÁZE. Cíl:

Databázové systémy. 9. přednáška

2. blok část A Jazyk SQL, datové typy

Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události

6 Příkazy řízení toku

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

Databázové a informační systémy Jana Šarmanová

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

X37SGS Signály a systémy

Fakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná

Transkript:

Jazyk PL/SQL Úvod, blok 1 Bc. Tomáš Romanovský

Procedural Language for Structured Query Language Součást systému Oracle, rozšíření SQL o procedurální rysy Prostředky pro vytváření a spouštění programových jednotek (procedury, funkce, balíky, triggery) 2

Vývojové prostředí Nástroje pro tvorbu a spouštění PL/SQL: SQL*Plus, SQL Worksheet, SQL Developer Oracle 11i - komplexní vývojové prostředí základní instalace neobsahuje Oracle 11i JDeveloper - podporuje práci s kódem PL/SQL 3

Vývojové prostředí Možnosti dalších konkrétních vývojových nástrojů: Oracle SQL Developer (www.oracle.com) TOAD a SQL Navigator 3 (www.quest.com) DB Partner Debugger (www.compuware.com) PL/SQL Developer (www.allroundautomations.nl) Rapid SQL (www.embarcadero.com) SQL Programmer (www.bmc.com) 4

Konstrukty jazyka Blok - blok PL/SQL programový objekt databáze Proměnné a konstanty Vlastní typy objektů PL/SQL Kurzor Alternativa - rozhodování Iterace - cyklus Výjímky ošetření chybových stavů 5

Blok v jazyku PL/SQL Skládá se ze tří částí, resp. sekcí: nepovinná deklarační sekce pro deklaraci proměnných, konstant, kurzorů a výjímek povinná sekce výkonných příkazů nepovinná sekce pro ošetření chybových stavů 6

Struktura bloku PL/SQL [DECLARE /* deklarace deklarační sekce */ ; ;] BEGIN /* tělo výkonná sekce */ ; ; [EXCEPTION /* sekce výjímek */ ; ;] END; 7

Blok PL/SQL (použití) Anonymní blok (*.sql) Uložen jako soubor, použitelný pouze v místě kde byl definován Využíváme jej v těchto případech: příkazová dávka SQL definiční části databázového triggeru definice prvku aplikačního menu Uložená programová jednotka Procedura Funkce Balík Trigger 8

Blok PL/SQL (příklad) Př. Načtení systémového datumu do deklarované proměnné dnes a její výpis v SQL*Plus (okno DBMS_OUTPUT): Poznámka: Pro výpis slouží například balík DBMS_OUTPUT a jeho procedura PUT_LINE. Pro zapnutí tohoto výpisu slouží příkaz SET SERVEROUTPUT ON. SET SERVEROUTPUT ON DECLARE dnes date; BEGIN dnes := sysdate; DBMS_OUTPUT.PUT_LINE( Dnešní datum: dnes); END; 9

Proměnná Pojmenované místo v paměti, sloužící k dočasnému uložení hodnot Identifikátor (jméno proměnné) odpovídá běžným pravidlům: bez CZ, mezery a speciálních znaků. Doporučuje se používat prefix (např. v_ variable). Kombinace statického tisku a obsahu proměnných, lze použít operátor zřetězení 10

Proměnná (deklarace) Explicitní deklarace v bloku DECLARE syntaxe: <jméno proměnné> [ CONSTANT] < datový typ > [NOT NULL ] [{:= DEFAULT} < počáteční hodnota > ]; Příklad: v_nazev varchar2(20) := ; Implicitní Definovaná až v bloku tělo při prvním použití Nepřehlednost při delším kódu Příklad: v_pocet := 0; 11

Proměnné (datové typy) Skalární datové typy: BINARY INTEGER, DEC, DECIMAL, NUMBER, NUMERIC, REAL, INTEGER, FLOAT, CHAR, VARCHAR, VARCHAR2, CHARACTER, LONG, STRING, ROWID,.. BOOLEAN DATE, INTERVAL DAY TO SECOND, INTERVAL YEAR TO MONTH, Kompozitní typy: RECORD,TABLE, VARRAY Referenční typy: REF_CURSOR, REF obj_typ LOB typy: BFILE, BLOB, CLOB,NCLOB 12

Proměnné (dat. typ zděděný) Typ proměnné podle jiné proměnné nebo sloupce tabulky: DECLARE v_adresa VARCHAR2 (50); v_bydliste v_adresa%type; /* dle proměnné */ v_isbn knihy.isbn%type; /* dle sloupce */ BEGIN v_bydliste:= Ostrava, Vítkovice ; v_isbn:= 80-7226-733-2; END; 13

Komentáře Typy komentářů: jednořádkové začínají dvěma pomlčkami -- víceřádkové se uzavírají do párových značek /* */ Důvody pro použití komentářů: Přehlednost programového kódu Rychlost vývoje Efektivní ladění Vývoj v týmu 14

Operátory Operátor Operace ** umocňování *,/ násobení, dělení +,-, sčítání, odečítání, slučování =,>,<, <=,>=,<>,!=,~=,^= relační operátory - porovnávání IS NULL je prázdný LIKE vzor porovnání vzoru (zást. symboly %, _) BETWEEN AND interval IN(seznam) v seznamu hodnot NOT logická negace AND logický součin OR logický součet 15