Administrace Oracle se nachazi na strankach [[oracle.html|Oracle]]. ====Obsah====
Externi odkazy
[[#tabulky|Tabukly]]
Promenne
Vytvareni tabulek
Popis tabulky
meneni tabulky
smazani tabulky
[[#zaznamy|Zaznamy]]
vkladani
mazani
modifikace
vypis
[[#plsql|PL/SQL]]
CHAR(20) ... pole pro retezec dlouhy 20 znaku
VARCHAR(20) ... pole pro retezec dlouhy az 20 znaku
DATE ... datum a cas
INTEGER ... cele cislo
NUMBER ... Realne cislo, az 38 znaku dlouhe. NUMBER(6,2) je omezeni cisla na max delku xxxx.xx
BINARY_FLOAT ... (Oracle >= 10) binarni reprezentace realneho cisla - 32-bitu - uspornejsi a rychlejsi nez NUMBER. Hodnoty napr. 96.56f, BINARY_FLOAT_NAN, BINARY_FLOAT_INFINITY
BINARY_DOUBLE ... (Oracle >= 10) binarni reprezentace realneho cisla - 64-bitu - uspornejsi a rychlejsi nez NUMBER. Hodnoty napr. 96.56D, BINARY_DOUBLE_NAN, BINARY_DOUBLE_INFINITY
===Vytvareni tabulek=== CREATE TABLE zakaznici (\\ id_zakaznika INTEGER CONSTRAINT zakaznicky_pk PRIMARY KEY ... cislo pro id zakaznika - primarni klic (PRIMARY KEY - musi byt unikatni cislo, nesmi existovat stejne)\\ jmeno VARCHAR(10) NOT NULL ... neprazdny udaj pro jmeno - az 10 znaku\\ prijmeni VARCHAR(10) NOT NULL\\ narozeni DATE\\ telefon VARCHAR(20)\\ ); ... vytvoreni tabulky\\ id_zakaznika INTEGER CONSTRAINT zakaznicky_pk PRIMARY KEY ... cislo pro id zakaznika - primarni klic (PRIMARY KEY - musi byt unikatni cislo, nesmi existovat stejne)\\ CREATE TABLE nakupy (\\ id_zakaznika INTEGER CONSTRAINT zakaznicky_pk PRIMARY KEY\\ datum DATE zakaznik INTEGER CONSTRAINT zakanik_fk REFERENCES ZAKAZNICI(id_zakaznika) ... vzdaleny klic (froreign key) - odkaz na zaznam jine tabukly (na primarni klic id_zakaznika)\\ zaplaceno NUMBER(8,2) );\\ ===Popis tabulky=== DESCRIBE zakaznici; popise sloupce, promenne a podminky nenulovosti tabulky zakaznici\\
CREATE OR REPLACE PROCEDURE update_zakaznika ( p_id_zakaznika IN zakaznici.id_zakaznika%TYPE p_faktor IN NUMBER ) AS pocet_nakupu INTEGER; BEGIN -- popis SELECT COUNT(*) INTO pocet_nakupu FROM nakupy WHERE zakaznik=p_id_zakaznika; IF pocet_nakupu < p_faktor THEN UPDATE zakaznici SET popis = "malo nakupuje" WHERE id_zakaznika = p_id_zakaznika; COMMIT END IF; EXCEPTION WHEN OTHERS THEN ROLLBACK; END update_zakaznika;