Teiesugused lugejad aitavad MUO-d toetada. Kui teete ostu meie saidil olevate linkide abil, võime teenida sidusettevõtte komisjonitasu. Loe rohkem.

SQL Serveri ajutised tabelid salvestavad andmeid ajutiselt. Saate ajutises tabelis teha samu toiminguid, nagu SELECT, INSERT, DELETE ja UPDATE, nagu tavalises SQL-tabelis.

Temptabelid asuvad tempdb andmebaasis ja on nähtavad ainult ühenduse kestuse ajal. Kui katkestate ühenduse, kustutab SQL Server ajutise tabeli. Samuti saate selle igal ajal selgesõnaliselt kustutada.

SQL Serveri temptabelite tüübid

SQL Serveri temptabeleid on kahte tüüpi: kohalikud ja globaalsed.

Kohalik temperatuuritabel

Kohalik temptabel on nähtav ainult selle loonud ühendusele. Kui see ühendus katkeb või kui kasutaja ühenduse katkestab SQL Server Näiteks kohalik temptabel kukutatakse automaatselt välja.

Kohaliku ajutise tabeli loomiseks kasutage tabeli nime alguses ühte räsimärki (#) koos lausega CREATE TABLE. Siin on süntaks.

LOOTABEL#TempTable (
1. veerg INT,
2. veerg VARCHAR(50)
);
instagram viewer

Näiteks loob järgmine kood ajutise tabeli nimega TempCustomer koos nime ja e-posti väljaga.

LOOTABEL#TempCustomer (
ID int NOT NULL PRIMARY KEY
Täisnimi VARCHAR(50),
Saada VARCHAR(50)
);

Globaalne temperatuuritabel

Globaalne temptabel on ajutine tabel, mis on nähtav kõigile ühendustele ja kasutajatele. SQL Server tühistab selle, kui kõik tabelile viitavad ühendused ja kasutajad on katkestatud.

Globaalse temptabeli loomiseks lisage tabeli nime ees topelträsi (##) ja kasutage käsku CREATE TABLE.

LOOTABEL##TempTabel (
1. veerg INT,
2. veerg VARCHAR(50)
);

Järgmine kood loob globaalse ajutise tabeli nimega TempCustomer.

LOOTABEL##TempCustomer (
ID int NOT NULL PRIMARY KEY
Täisnimi VARCHAR(50),
Saada VARCHAR(50)
);

See kood sarnaneb kohaliku temp-tabeli näitega, ainult ühe räsi sümboliga. Nüüd saate kasutada standardsed SQL-käsud ajutiste tabelis olevate andmete lisamiseks või nendega manipuleerimiseks.

Kuidas temptabelit maha jätta

SQL Serveri eksemplar tühistab automaatselt ajutise tabeli, kui kõik sellele viitavad kasutajad on ühenduse katkestanud. Parima tavana peaksite tempdb-mälu vabastamiseks oma temptabelid alati selgesõnaliselt maha jätma.

Ajutise tabeli tühistamiseks kasutage käsku DROP TABLE IF EXISTS, millele järgneb ajutise tabeli nimi.

#TempCustomer tabeli tühistamiseks tehke järgmist.

TULLATABELKUIOLEMAS#TempCustomer

Kasutage sama koodi, kuid globaalse ajutise tabeli eemaldamiseks vahetage tabeli nimi.

TULLATABELKUIOLEMAS##TempCustomer

SQL-i temptabelite tüüpilised kasutusviisid

Ajutised tabelid on kasulikud, kui peate salvestama keerukate päringute vahetulemusi, mida peate edasi töötlema. Näiteks aruannete loomisel peate võib-olla looma ajutisi tabeleid, et salvestada päringutulemusi mitmest andmebaasist. Seejärel saate genereerida lõpparuande, käivitades päringu ajutiste tabelite põhjal.

Teine stsenaarium, kus ajutised tabelid on kasulikud, on see, kui vajate teise päringu käitamiseks päringutulemusi ühest tabelist. Saate salvestada tulemused ajutisse tabelisse ja seejärel viidata sellele oma uues päringus. Põhimõtteliselt kasutate ajutist tabelit töö- või puhvertabelina, et hoida konkreetse ülesande täitmiseks vajalikke andmeid.

Temptabelite kasutamine SQL Serveris

Andmete ajutiseks salvestamiseks ja töötlemiseks saate kasutada SQL Serveri temptabeleid. Ajutisi tabeleid on kahte tüüpi, kohalikud ja globaalsed. Kohalik ajutine tabel on nähtav ühendusele, milles see loodi, samas kui globaalne ajutiste tabel on nähtav kõigi ühenduste jaoks.

Ajutised tabelid hävitatakse automaatselt, kui katkestate ühenduse serveri eksemplariga. Mälu säästmiseks peaksite need alati pärast kasutamist maha viskama.