SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

Ebben az oktatóanyagban az SQL ideiglenes táblákat és nézeteket tárgyaljuk . Ez a kettő hasznos lehet, ha egy fizikai táblázatból szeretné tesztelni és hibakeresni. Szó lesz az ideiglenes táblák két típusáról és azok különbségeiről is.

Az SQL ideiglenes táblákkal és nézetekkel szabadon manipulálhatja az adatkészletet több paranccsal anélkül, hogy ismételten le kellene kérdeznie, mivel az már egy külön táblában van tárolva.

Annak ellenére, hogy ez a kettő hasonlóan működik, figyelembe kell vennie a különbségeket. Ez segít eldönteni, hogy egy adott helyzetben melyik módszer a legjobb.

Maga a név alapján az ideiglenes táblák az adatok ideiglenes tárolására szolgálnak egy munkamenetben.

Több műveletet is végezhetünk velük, akárcsak egy fizikai asztalon . Képzelje el, hogy van egy nagyon hosszú SQL-parancsa. Egyszerűen elhelyezheti ezt egy ideiglenes táblában , és megkezdheti a hibakeresést vagy a hibák elhárítását anélkül, hogy az eredeti lekérdezést befolyásolná. Ezenkívül az ideiglenes táblák hatékonyak, és gyakran használják az SQL-ben.

Tartalomjegyzék

Kétféle ideiglenes tábla az SQL-ben

Az SQL-ben kétféle ideiglenes tábla létezik. Ezek a helyi és globális ideiglenes táblák.

Helyi ideiglenes táblák csak abban a munkamenetben léteznek, ahol létrehozták. Más munkamenetekben nem fogunk tudni hozzáférni ehhez a táblázathoz. Emiatt a helyi ideiglenes táblák többé nem léteznek, ha a munkamenetet, amelyben létrehozták, bezárják.

Ezzel szemben a globális ideiglenes táblák létrehozásukkor minden munkamenetben elérhetők. De miután az összes munkamenetet bezárják, többé nem létezik, és többé nem lesz elérhető.

Vegye figyelembe, hogy egyszerűen azonosíthatja, hogy milyen típusú ideiglenes táblát használ a lekérdezés, ha bejelöli a „ # ” szimbólumot a helyi és a „ ## ” szimbólumot a globális ideiglenes táblánál.

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

A helyi ideiglenes táblák általában „ # ” karakterrel kezdődnek a táblanevükben.

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

Másrészt a globális ideiglenes táblák „ ## ” karakterrel kezdődnek a tábla neve előtt.

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

Ezenkívül, ha gyorsan szeretne táblát létrehozni, kövesse a következő parancsot: SELECT * INTO #customers FROM dbo.courses példaként.

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

Ez a parancs létrehoz egy új ideiglenes táblát #customers néven a dbo.courses tábla összes adatával .

Nézetek a Microsoft SQL Server Management Studio alkalmazásban

Most beszéljük meg az SQL nézeteket ezzel a mintaparanccsal.

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

Tegyük fel például, hogy nem akarunk ismételten végrehajtani egy ilyen parancsot. Egyszerűen nézetbe helyezheti az alábbi parancs követésével.

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

A nézet létrehozása hasonló a táblázatok létrehozásához. Ennek használatával végrehajthatjuk azt a lekérdezést, amelyet az általunk létrehozott nézetnév kiválasztásával írtunk be. Ebben az esetben a CustomersbyYear_v .

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

Fontos megjegyezni, hogy a nézetek eltérnek az ideiglenes tábláktól. Ennek az az oka, hogy a nézetek ugyanúgy láthatók az adatbázisban, mint egy fizikai tábla, hacsak nem törli azt. Ezenkívül a nézetek nem tárolnak adatokat vagy értékeket.

Ehelyett csak a CREATE VIEW parancs után adja meg a beírt parancsot . Nézetekben is futtathat bármilyen táblázatműveletet.

A legfontosabb, hogy könnyen azonosíthatjuk a nézeteket, mivel általában a nézet nevének elejére vagy végére „v” betűvel jeleníthetők meg.

Ideiglenes táblák és nézetek létrehozása SQL-ben

Ebben a példában van ez a lekérdezés, amely egyesíti és megjeleníti a Sales.SalesOrderHeader és a Sales.Customer C rekordokat a végrehajtás után.

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

Helyi temp táblák létrehozása SQL-ben

Képzelje el, hogy írt egy lekérdezést, amely 200 soros, és hibakeresést kell végeznie, és bizonyos műveleteket kell végrehajtania rajta. Közvetlenül nem, mert ez több hibát okozhat a folyamat során.

Ebben az esetben, az előző példát használva, egy helyi ideiglenes táblát fogunk létrehozni az „ INTO #test_local ” parancs hozzáadásával a FROM parancs elé.

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

A parancs futtatása után a #test_local a Sales.SalesOrderHeader és a Sales.Customer C együttes rekordjait fogja tartalmazni . Ennek eredményeként ezt fogja látni, amikor kiválasztja a #test_local táblát.

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

Ezt követően a #test_local táblán bármilyen műveletet elvégezhetünk . Kijelöljük az összes rekordot a #test_local listából, majd a következő paranccsal  módosítjuk a rekordok sorrendjét Ügyfélazonosító szerint.

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

Ennek eredményeként a rekordok most az ügyfélazonosítójuk szerint vannak rendezve. De mivel helyi ideiglenes táblát használtunk, nem tudjuk elérni vagy használni a #test_local táblát egy másik munkamenetben. A következő példa bemutatja, mi fog történni, ha megpróbáljuk elérni a #test_local fájlt az SQLQuery2.sql- ben .

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

Az előző példa alapján a #test_local kiválasztásakor csak hibaüzenetet jelenített meg. Ennek az az oka, hogy a #test_local tábla csak abban a munkamenetben létezik, ahol létrehozták, ami az SQLQuery1.sql .

Globális temp táblák létrehozása SQL-ben

Ezután ugyanazt a lekérdezést fogjuk használni, mint a #test_local . De ezúttal egy globális .

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

Ha most kiválasztjuk a ##test_global lehetőséget , és a rekordokat CustomerID szerint rendezzük, akkor ugyanazt a kimenetet fogja megjeleníteni, mint a #test_localban, mivel ugyanazt a lekérdezést használtuk. 

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

Ezt követően megpróbáljuk elérni a ##test_global táblát egy másik munkamenetben annak kiválasztásával. Ez zökkenőmentesen működik, mivel globális ideiglenes táblát használunk.

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

Ezen a ponton kiemeljük a helyi és a globális temp táblák közötti különbséget.

Ne feledje, hogy a helyi ideiglenes táblák csak abban a munkamenetben érhetők el, ahol létrehozták . Ha bezárja a munkamenetet, az többé nem fog létezni.

Másrészt a globális ideiglenes táblák minden munkamenet számára láthatóak , hacsak nem zárja be az összes aktív munkamenetet vagy magát az alkalmazást.

Nézetek létrehozása SQL-ben

Most egy nézetet fogunk létrehozni. Ebben a példában van egy ilyen lekérdezésünk.

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

Elkezdhetjük a nézet létrehozását a CREATE VIEW parancs hozzáadásával a lekérdezéshez.

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

A parancs futtatásakor egy nézet jön létre az adatbázisban, amelyen dolgozunk. Jelen esetben az AdventureWorks2012- ről van szó .

Frissítés után látnunk kell a dbo.CustomerView_v fájlt is a Views mappában. A Nézetek mappa frissítéséhez kattintson rá jobb gombbal, majd válassza a Frissítés lehetőséget .

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

Kattintson a + ikonra a Nézetek mappa jobb oldalán, és megjelenik a dbo.CustomerView_v .

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

A nézet megnyitásához kattintson a jobb gombbal a dbo.CustomerView_v elemre , majd válassza a Legjobb 1000 sor kiválasztása lehetőséget a lehetőségek közül. Ez 1000 rekordot jelenít meg ebben a nézetben .

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

Ezek után már használhatjuk a dbo.CustomerView_v-t , és bármilyen műveletet végrehajthatunk rajta, mint egy táblázatban. Például ki akarjuk jelölni azokat a rekordokat, amelyek SalesOrderID azonosítója nagyobb, mint 50000 a dbo.CustomerView_v fájlban . Ebben az esetben a következő parancsot használjuk.

SQL Temp táblák és nézetek LuckyTemplates felhasználók számára

Most már futtathatunk egy műveletet az általunk létrehozott nézeten.

Következtetés

Összefoglalva, megtanultuk az ideiglenes táblák két típusát, valamint azok különbségeit, és azt, hogy miért kell ezeket használnunk. Ezenkívül megbeszéltük, hogy az ideiglenes táblák a lekérdezések hibáinak kijavítására szolgálnak anélkül, hogy a tényleges lekérdezést károsítanák.

Ne feledje, hogy az ideiglenes táblákat csak azok a munkamenetek láthatják, ahol létrehozták. Ezért az aktív munkamenetek vagy magát az alkalmazást lezárva többé nem fog létezni.

Azt is megtanultuk, hogy a nézetek nem tárolnak adatokat vagy rekordokat. Csak a megjeleníteni kívánt lekérdezés alapján jeleníti meg az eredményeket. Ezeket a nézeteket az adatbázisunkban tároljuk, miután létrehoztuk őket. 

Ha megtanulja ezt a kettőt, most már gyorsan végrehajthat hosszú parancsokat , és könnyedén módosíthatja az adatkészlet nagy részét .

Minden jót,

Hafiz


PowerApps keresőmező: Hozzáadás és testreszabás

PowerApps keresőmező: Hozzáadás és testreszabás

Ismerje meg, hogyan hozhat létre PowerApps keresőmezőt a semmiből, és hogyan szabhatja testre az alkalmazás általános témájához.

SELECTEDVALUE DAX Példa – Szeletelő kiválasztása

SELECTEDVALUE DAX Példa – Szeletelő kiválasztása

Gyűjtsön be vagy rögzítsen egy értéket egy mértéken belül, hogy újra felhasználja egy másik mértékben a dinamikus számításokhoz a SELECTEDVALUE DAX használatával a LuckyTemplatesben.

Verzióelőzmények a SharePoint-listákban

Verzióelőzmények a SharePoint-listákban

Fedezze fel, hogy a SharePoint verzióelőzményei hogyan segíthetnek áttekinteni egy bizonyos adatok alakulását, és hány módosításon mentek keresztül.

Színes hexadecimális kódválasztó a LuckyTemplates jelentésekhez

Színes hexadecimális kódválasztó a LuckyTemplates jelentésekhez

Itt található egy eszköz jelentések és látványelemek készítéséhez, egy színhexadecimális kódválasztó, amellyel könnyedén lekérheti LuckyTemplates jelentései színeit.

Dinamikus dátumszeletelő a LuckyTemplatesben periódustáblázat használatával

Dinamikus dátumszeletelő a LuckyTemplatesben periódustáblázat használatával

Könnyedén megjeleníthet egy dátumtartományt szeletelőként a jelentésben időszaki táblázat segítségével. Használjon M-kódot a dinamikus dátumszeletelő létrehozásához a LuckyTemplates alkalmazásban.

Arány- és gyakorisági táblázatok Excelben

Arány- és gyakorisági táblázatok Excelben

Az Excel gyakorisági táblázataiban, valamint az aránytáblázatokban készültek. Nos, nézze meg, mik ezek, és mikor kell használni őket.

A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

Ismerje meg, hogyan töltheti le és telepítheti a DAX Studio és a Tabular Editor 3 alkalmazást, és hogyan konfigurálhatja őket a LuckyTemplates és az Excel programban való használatra.

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

Ez a blog tartalmazza a Shape Map vizualizációt a LuckyTemplates térbeli elemzéséhez. Megmutatom, hogyan használhatja hatékonyan ezt a vizualizációt annak funkcióival és elemeivel.

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

Ebben az oktatóanyagban egy egyedülálló ötletet mutatok be a pénzügyi jelentésekkel kapcsolatban, amely az eredmények hozzárendelését jelenti a LuckyTemplates-en belüli táblázatsablonok előre meghatározásához.

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

Hozzon létre DAX-mértékeket a LuckyTemplates alkalmazásban meglévő mértékek vagy képletek használatával. Ezt nevezem mértékelágazási technikának.