602SQL-┌plnß dokumentace Index   Tisk  

Deklarace objekt∙ v SQL

Objekty, s nimi₧ pracuje jazyk SQL, lze rozd∞lit podle toho, kde a jak dlouho existujφ, do dvou skupin:

Globßlnφ objekty se dajφ vytvß°et a ruÜit pomocφ p°φkaz∙ CREATE a DROP. V∞tÜinou vznikajφ p°i importu aplikace na SQL server. Jsou p°φstupnΘ ze vÜech objekt∙ ve schΘmatu.

Lokßlnφ objekty se deklarujφ uvnit° bloku. Jakmile provßd∞nφ p°φkaz∙ SQL vstoupφ do tohoto bloku, jsou lokßlnφ objekty automaticky vytvo°eny a p°i opuÜt∞nφ bloku zaniknou. Nelze s nimi pracovat z jinΘho mφsta ne₧ z bloku, v n∞m₧ jsou deklarovßny.

Lokßlnφ i globßlnφ objekty jsou oznaΦeny jmΘny. Ve jmΘnech se rozliÜuje pouze prvnφch 31 znak∙. Lokßlnφ objekty deklarovanΘ v r∙zn²ch blocφch mohou mφt stejnß jmΘna.

N∞kterΘ kategorie objekt∙, nap°φklad triggery nebo sekvence, mohou existovat pouze jako globßlnφ.

Lokßlnφ objekty

Jako lokßlnφ objekty lze deklarovat prom∞nnΘ, rutiny, v²jimky, handlery a kurzory.

Globßlnφ objekty

P°i v²voji aplikace se tabulky, dotazy, procedury, triggery a sekvence vytvß°ejφ bu∩ provedenφm p°φsluÜnΘho p°φkazu CREATE nebo pomocφ interaktivnφch nßstroj∙ ve v²vojovΘm prost°edφ 602SQL. Ka₧d² objekt z t∞chto kategoriφ je samostatn∞ vid∞t v seznam objekt∙ na °φdicφm panelu.

Globßlnφ prom∞nnΘ, v²jimky a handlery se vytvß°ejφ tak, ₧e se jejich deklarace zapφÜe do specißlnφho objektu jmΘnem Module_globals. Tento objekt je na °φdicφm panelu umφst∞n mezi procedurami.

Globßlnφ handlery nesm∞jφ provßd∞t p°φkazy manipulujφcφ s obsahem databßze. Mohou vÜak volat procedury, kterΘ tuto prßci provedou za n∞.

Sdφlenφ obsahu globßlnφch prom∞nn²ch

Pro ka₧dΘho klienta pracujφcφho s objekty ve schΘmatu existuje zvlßÜtnφ instance vÜech globßlnφch prom∞nn²ch tohoto schΘmatu. Hodnoty globßlnφch prom∞nn²ch nastavenΘ jednφm klientem nejsou proto viditelnΘ pro ostatnφ klienty.

Pokud klient provede SQL p°φkaz, kter² p°i°adφ n∞kterΘ globßlnφ prom∞nnΘ hodnotu, pak tato hodnota z∙stane v prom∞nnΘ zachovßna a₧ do p°i°azenφ novΘ hodnoty stejn²m klientem. Volß-li tedy klient dv∞ procedury, pak druhß procedura vidφ v globßlnφch prom∞nn²ch ty hodnoty, kterΘ v nich zanechala prvnφ procedura. Po odhlßÜenφ se klienta od serveru jeho instance globßlnφch prom∞nn²ch zanikne.

Pro p°edßvßnφ hodnot mezi klienty nebo pro persistentnφ ulo₧enφ hodnot slou₧φ databßzovΘ tabulky, nikoli prom∞nnΘ.

Odchylky od Intermediate level sm∞rem k Full level nebo k SQL 3

VeÜkerΘ deklarace jsou implementovßny dle ·rovn∞ SQL 3.

Seznam subsekcφ: