– Se on erittäin hyödyllistä tallentaa tietoja SQL Server-temp taulukoita eikä manipuloida tai työskennellä pysyvästi taulukoita. Sanotaan haluat täyden DDL tai DML pääsy pöytään, mutta ei ole sitä. Voit käyttää olemassa olevaa lukuoikeuttasi tietojen vetämiseen SQL Server väliaikaiseen taulukkoon ja tehdä muutoksia sieltä. Tai sinulla ei ole oikeuksia luoda taulukon olemassa olevaan tietokantaan, voit luoda SQL Server temp taulukko, jota voit manipuloida., Lopuksi saatat olla tilanteessa, jossa tietojen on oltava näkyvissä vain nykyisessä istunnossa.
SQL Server tukee muutamia SQL Server temp-taulukoita, jotka voivat olla erittäin hyödyllisiä.
Ennen kuin jatkamme, jos haluat seurata yhdessä kaikki koodi näytteet, suosittelen avaamalla SQL Server Management Studio:
Paikallinen SQL-temp taulukoita
Paikallista SQL Server-temp-taulukot on luotu käyttämällä punnan symboli tai ”hashtag” seuraa taulukon nimi. Esimerkiksi: #Table_name. SQL temp-taulukot luodaan tempdb-tietokantaan., Paikallinen SQL Server temp-taulukko näkyy vain nykyisessä istunnossa. Sitä ei voida nähdä tai käyttää prosesseissa tai kyselyissä sen istunnon ulkopuolella, johon se on ilmoitettu.
tässä nopea esimerkki tulossarjan ottamisesta ja sen laittamisesta SQL Server temp-taulukkoon.
yksi SQL Server temp-taulukoiden useimmin käytetyistä skenaarioista on jonkinlaisen silmukan sisällä. Esimerkiksi, haluat käsitellä tietoja SQL ja tarvitset paikka tallentaa kohteita teidän silmukka lukea läpi. Se tarjoaa nopean ja tehokkaan keinon tehdä niin., Katso koodi näyte edellä, silmukka voi nyt viitata SQL Server-temp-table-ja prosessi-tietueet, jotka täyttävät tavoitteesi.
Toinen syy käyttää SQL Server temp taulukoita, sinulla on joitakin vaativa käsittely tehdä oman sql-lause. Oletetaan, että luot liittyä, ja joka kerta, kun sinun täytyy vetää levyjä, että tulosjoukon se on prosessi tämä liittyä uudestaan. Miksi ei vain käsitellä tätä tulosasetusta kerran ja heittää tietueet SQL temp taulukko? Sitten voit olla loput sql lauseke viitata SQL temp taulukon nimi., Ei vain tämä säästää kalliita kyselyn käsittely, mutta se voi jopa tehdä koodin näyttää hieman puhtaampaa.
on kuitenkin yksi kohta, jonka haluan esittää. Jos istunnossa, jossa työskentelemme on myöhemmin sisäkkäisiä istuntoja, SQL Server temp taulukot näkyvät istunnoissa alempi hierarkiassa, mutta ei yläpuolella hierarkiassa. Sallikaa minun visualisoida tämä.
tässä pikakaaviossa luodaan SQL temp-taulukko istunnossa 2. Sen alla olevat istunnot (istunnot 3 ja istunto 4) voivat nähdä SQL Server temp-taulukon., Mutta istunto 1, joka on istunnon 2 yläpuolella, ei voi nähdä SQL Server temp taulukko.
SQL-temp-table on pudonnut tai tuhottu, kun istunto katkaisee yhteyden. Monesti näet kehittäjien käyttävän” DROP #Table_Name ” – käskyä lausuntonsa lopussa vain siivotakseen. Mutta se on täysin kiinni sinusta ja siitä, mitä yrität saavuttaa.,
huomaa Myös, että jos nimi konflikti (muista, että SQL Server-temp-taulukot ovat luotu tempdb) SQL server tulee liittää pääte loppuun taulukon nimi niin, että se on ainutlaatuinen sisällä tempdb-tietokannan. Mutta tämä prosessi on avoin Kehittäjä / käyttäjä. Voit käyttää samaa nimeä, jonka ilmoitit, koska se rajoittuu siihen istuntoon.
Global SQL temp taulukot
Global SQL temp taulukot ovat hyödyllisiä, kun haluat, että tulosjoukko näkyy kaikissa muissa istunnoissa. Ei tarvitse määrittää käyttöoikeuksia., Kuka tahansa voi lisätä arvoja, muokata tai hakea tietueita taulukosta. Huomaa myös, että kuka tahansa voi pudottaa pöydän. Kuten paikalliset SQL Server temp taulukot, ne pudotetaan, kun istunto katkaisee ja ei ole enää viittauksia taulukkoon. Voit aina käyttää” pudota ” – komentoa sen puhdistamiseen manuaalisesti. Sitä suosittelisin.
luodaksesi maailmanlaajuisen SQL temp-taulukon, käytät vain kahta punnan symbolia taulukon nimen edessä. Esimerkki: # # Global_Table_Name.,
Taulukon Muuttujat
Taulukko-muuttujat luodaan kuten mikä tahansa muu muuttuja, käyttäen DECLARE-käskyn. Monet uskovat, että taulukkomuuttujat ovat olemassa vain muistissa, mutta se ei yksinkertaisesti ole totta. Ne asuvat tempdb-tietokannassa aivan kuten paikalliset SQL Server temp-taulukot. Myös paikallisten SQL temp-taulukoiden tavoin taulukkomuuttujat ovat käytettävissä vain niiden luoneen istunnon aikana. Toisin kuin SQL temp-taulukoissa taulukkomuuttuja on kuitenkin saatavilla vain nykyisen erän sisällä. Ne eivät näy erän ulkopuolella, eli istuntohierarkian käsitettä voidaan hieman sivuuttaa.,
suorituskyvyn osalta taulukkomuuttujat ovat hyödyllisiä pienillä datamäärillä (kuten Vain muutamalla rivillä). Muuten SQL Server-temp-taulukko on hyödyllinen, kun käyt läpi suuria määriä tietoja. Joten useimmat skriptit näet todennäköisesti käyttää SQL Server temp taulukko toisin kuin taulukko muuttuja. Ei sanoa, että toinen on hyödyllisempi kuin toinen, se on vain sinun täytyy valita oikea työkalu työhön.
tässä on nopea esimerkki taulukkomuuttujan perustamisesta ja käytöstä.,
olemme luoneet taulukkomuuttujan, joka sisältää tietoja tietyn myydyn tuotteen kokonaismääristä. Tämä on hyvin yksinkertaistettu esimerkki, emmekä käyttäisi sitä, jos se sisältäisi paljon rivejä. Mutta jos katsoisimme vain muutamia tuotteita, tämä voisi todella hyvin. Kun taulukon muuttuja on asuttu, voit sitten liittyä tähän taulukkona vielä toiseen taulukkoon ja kerätä mitä tietoja tarvitset. Joten on paljon joustavuutta ja mahdollistaa kehittäjä on melko luova.
myös lopullisessa huomautuksessa taulukkomuuttujien taloustoimien osalta., Jos kehittäjä rullaa takaisin liiketoimi, joka sisältää muutoksia taulukon muuttujat, tehdyt muutokset taulukko muuttujia tämän erityisen tapahtuman säilyy ennallaan. Toisin sanoen, muut osat kaupan kyseessä on rullattu takaisin, mutta mitään vertailemalla taulukon muuttuja ei, ellei se osa käsikirjoitus on virhe.,
- Tekijä
- Viimeisimmät Viestit
hän aloitti IT-uransa helpdesk-maailmassa ja siirtyi lopulta networking/systems administrator-puolelle. Jonkin ajan kuluttua, hän kehitti kiintymystä kanssa Tietokannat (lähinnä SQL Server) ja on keskittynyt uransa, että viimeiset kahdeksan vuotta., Hän on työskennellyt eri toimialoilla sekä suurissa että pienissä ympäristöissä, joissa kaikilla on erilaiset tarpeet.
SQL Shack on tarjonnut hänelle mahdollisuuden edistää yhteisöä, joka on antanut hänelle niin paljon kautta vuosien.,
Näytä kaikki viestit Aamir Syed
- On SQL Server Aina Salattu, sillä arkaluontoisten tietojen salaus, oikea ympäristö – heinäkuu 27, 2018
- Käytä tapauksissa Kysely Tallentaa SQL Server – 18. heinäkuuta 2018
- Kun Käyttää SQL-Temp Taulukoita vs. Taulukon Muuttujat – 21 helmikuu, 2017