HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Átmeneti táblák az SQL szerverben


Példaprogram letöltése

1634 bájt

Amikor adatbázist tervezünk, akkor táblákat hozunk létre, amelyeket az adatbázishoz kapcsolunk. Lehetőségünk van azonban arra is, hogy szükség esetén olyan táblákat hozzunk létre, amelyeket csak ideiglenesen használunk, és ha nincs rájuk szükség, akkor megszűnnek. Cikkünkben ezekkel a táblákkal foglalkozunk.

Átmeneti táblák
Az átmeneti táblák hasonlítanak a hagyományos táblákra, azzal a különbséggel, hogy az előbbiek a tempdb adatbázisban jönnek létre, és ha már nincs szükség rájuk, akkor automatikusan törlődnek. Kétféle átmeneti tábla létezik: lokális és globális. Ezek a típusok egyaránt különböznek a láthatóságukban, az elérhetőségükben és a neveikben is. A helyi átmeneti táblák elnevezése egy (#) jellel kezdődik. Pl.: #minta. Ezek a táblák addig maradnak életben, amíg a felhasználónak élő kapcsolata van az SQL szerverrel. Amint ez a kapcsolat megszűnik, a tábla törlődik. A globális táblák neve előtt a jelből kettő található, pl.: ##minta. Ezek a táblák elérhetők valamennyi felhasználó számára, és mindaddig életben maradnak, amíg valamennyi felhasználó – akinek kapcsolata van a táblával – meg nem szakította a kapcsolatot az SQL szerverrel.
Ha egy helyi átmeneti tábla egy tárolt eljárásban vagy egy alkalmazásban jön létre, ami egyszerre több felhasználó által is futtatható, akkor az SQL szerver képes különbséget tenni a felhasználók által létrehozott táblák között. Az SQL szerver ezt úgy oldja meg, hogy belül egy numerikus végződéssel látja el mindegyik helyi tábla nevét. Az átmeneti tábla teljes neve a sysobjects táblában tárolódik, és tartalmazza a CREATE TABLE utasítás által megadott nevet és a rendszer által generált végződést. Ahhoz, hogy ezt a végződést az SQL szerver hozzá tudja adni a névhez, az átmeneti tábla neve maximum 116 karakter lehet a standard táblák 128 karakteres nevével szemben.
A lokális átmeneti táblák automatikusan megszűnnek, amikor a feladatkörből kilépünk, hacsak közvetlenül nem töröljük őket:
  • Egy helyi átmeneti tábla, amely tárolt eljárásból jött létre, automatikusan megszűnik, amikor az eljárás véget ér. A táblára hivatkozni lehet bármely beágyazott tárolt eljárásból. Külső eljárásból mindez nem lehetséges.
  • Minden egyéb átmeneti tábla automatikusan megszűnik az aktuális viszony végén.
Példák
Az alábbiakban néhány példát látunk átmeneti tábla kezelésére:
CREATE TABLE #minta(x INT PRIMARY KEY)
INSERT INTO #minta VALUES (13)
SELECT * FROM ##minta
GO
Ez a példa létrehoz egy átmeneti táblát, beszúr egy sort, majd listázza.
CREATE TABLE ##minta(x INT PRIMARY KEY)
INSERT INTO ##minta VALUES (20)
SELECT * FROM ##minta
GO
Ezt a globális átmeneti tábla példát teszteljük le úgy, hogy a Query Analyzer-ben két különálló kapcsolatot nyitunk. Az egyikben futtatjuk a tábla létrehozását és a beszúrást megvalósító kódrészletet, ezután a másikból megpróbáljuk listázni a tábla tartalmát. Próbáljuk meg ugyanezt lokális átmeneti táblával is. Ha jól végeztük a dolgunkat, akkor az idegen viszony hibaüzenetet jelez.

Cikksorozat

#IDKategóriaCikk címeSorozat
3643DelphiFormEditor1. rész
3689DelphiProject és modul információk2. rész
3719DelphiMegnyitás, mentés3. rész
3749DelphiKódszerkesztő4. rész
3778DelphiForráskód írása, olvasása5. rész
3809DelphiInterfész a kódszerkesztő ablakhoz6. rész
3839DelphiKijelölt blokkok7. rész
3869DelphiA buffer beállításai8. rész
3899DelphiKörnyezeti és Project opciók9. rész
3929DelphiKurzor a kódszerkesztőben10. rész
3959DelphiKeresés és csere beállításai11. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Windows Software Offline 2003 évkönyv 664. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |