Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako sa stavia Dynamic dotazu v Oracle

Oracle , program pre správu databázy , objektovo - relačné poskytnuté Oracle Corporation , umožňuje používať príkazy SQL k obchodu , správu , vyhľadávanie a zobrazenie dát . Otázky umožňujú užívateľovi komunikovať s databázou na vykonanie príkazov SQL . Dynamický SQL dotazu ponúka širšiu škálu možností ako štandardné dotazu. Môžete použiť dynamické otázky na spúšťanie príkazov SQL za behu , napr pri prevádzke s tabuľkou , že nebudete poznať meno tej doby . Návod dovolená 1

Otvoriť Oracle a kliknite na ikonu otvoríte nástroj SQL Workshop .
2

Napíšte v príkazoch SQL vytvoriť objekty a typy tabuliek . Môžete ich použiť ako akési šablóny pre ostatné tabuľky v databáze . Moc za dynamických príkazov SQL je , že môžete vytvárať tabuľky a dotaz je pri behu .

" CREATE TYPE t_students AS OBJECT ( studentId ČÍSLO , full_name VARCHAR2 ( 30 ) )

/

CREATE TYPE t_studentlist AS Tabuľka t_student

/"

Vo vyššie uvedených výkazoch , ktoré ste vytvorili databázu s názvom " t_students " , ktoré sa bude používať " studentId " a " full_name " hodnoty ako jedinečné identifikátory ( spôsob , ako identifikovať jeden záznam v databáze ) . " StudentId " hodnota bude " NUMBER " variabilné, čo znamená , že iba čísla uložia do poľa " studentId " . " Full_name " hodnota môže iba obsahovať až 30 písmen znaky . Konečne , stolová ( " t_studentlist " ) bol vytvorený vo vnútri " t_student " databázy . Zmeňte tieto hodnoty lepšie reprezentovať typ dát máte v databáze Oracle .
3

Napíšte príkazy SQL na vytvorenie skutočnej tabuľky v databáze . Tabuľka požičiava štruktúru typov , ktoré ste vytvorili v kroku 2 , takže si nemusíte znovu zadať identifikátory . Pomocou rovnaký príklad , bude SQL pre vytvorenie tabuľky vyzerať takto :

" CREATE TABLE students_new ( studentId číslo , študenti t__studentlist )

vnorené tabuľky študenti uložiť ako student_table " ; klipart

" students_new " tabuľka sa pripojiť k " študentmi " tabuľky a " t_studentlist " pomocou poľa " studentId " . Každý študent v tabuľke budú mať jedinečné číslo , ktoré spája informácie o študenta v každej tabuľke . Týmto spôsobom , nebudete mať opakujúce sa dáta v tabuľkách . Napríklad v študentskej databáze , máte jednu tabuľku , ktorá uchováva kontakt študenta údaje ( meno , telefónne číslo a poštovú adresu ) a ďalšie tabuľky , ktorá je držiteľom aktuálny rozvrh študenta . Iba polia , ktoré bude rovnaké v oboch tabuľkách je pole " studentId " , ktorá spája informácie . Môžete použiť pole " studentId " , napísať dotaz , ktorý ťahá meno študenta a telefónne číslo z kontaktov študentka informácií a informácií o pláne študenta z tabuľky výkazu .
4

Napísať dotaz SQL pridať informácie do tabuliek . Deklarovať dve premenné , ktoré bude ťahať informácie z tabuľky , ktoré majú byť použité v dynamickej dotaz neskôr .

" INSERT INTO students_new VALUES (

10 ,

t_studentlist (

t_students ( 1 , " John Doe " ) ,

t_students ( 2 , ' Jane Smith " ) ) ) ;

DECLARE klipart

majorId číslo ;

sname VARCHAR1 ( 20 ) , " Spojené

Dvaja študenti boli pridané do tabuľky . John Doe má študent ID " 1 " a Jane Smith má študent ID " 2 " . Celú informácie o databáze John Doe bude mať ID " 1 " .
5

Spustiť dotaz . Táto časť sa pridať dynamické SQL . Jedným z mien tabuliek " nie je známa v čase , kedy ste kódexu dotaz , ale bude k dispozícii počas behu . Vytvorte dočasný zástupný symbol miesto .

" BEGIN

EXECUTE bezprostrednej ' SELECT s.studentId , s.fullname

Z students_new s , tabuľka ( s.students ) s

KDE s.studentId = 1 '

DO majorId , sname ,

END ;

/"

dynamické dotazu , môžete užívate informácie z " students_new " tabuľky a uvedenie do " majorId " a " sname " poliach tabuľky , ktoré nie sú v súčasnej dobe známe ( ( s.students ) s ) . Respondent ste databázu informácií o študenta s ID " 1 " . Ak použijeme príklad , John Doe je študent vybraný z tabuľky žiakov a pridaná do neznámeho tabuľky .
6

Stlačte tlačidlo " F9 " na klávesnici spustite dotaz a vyskúšať .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené