Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
In deze zelfstudie bespreken we tijdelijke SQL-tabellen en -weergaven . Deze twee kunnen handig zijn als u een specifieke set gegevens uit een fysieke tabel wilt halen voor testen en foutopsporing. We zullen het ook hebben over de 2 soorten tijdelijke tabellen en hun verschillen.
Met tijdelijke SQL-tabellen en -weergaven kunt u de set gegevens vrij manipuleren met behulp van meerdere opdrachten zonder deze herhaaldelijk op te vragen, aangezien deze al in een aparte tabel is opgeslagen.
Hoewel deze twee op dezelfde manier werken, moet u rekening houden met hun verschillen. Dat zal u helpen bij het bepalen van de beste methode die u in een specifieke situatie kunt gebruiken.
Op basis van de naam zelf worden tijdelijke tabellen gebruikt om gegevens tijdelijk in een sessie op te slaan.
We kunnen er ook meerdere bewerkingen op uitvoeren, net als op een fysieke tafel . Stel je voor dat je een SQL-opdracht hebt die erg lang is. U kunt dat eenvoudig in een tijdelijke tabel plaatsen en beginnen met het opsporen van fouten of het oplossen van problemen zonder de oorspronkelijke query te beïnvloeden. Bovendien zijn tijdelijke tabellen krachtig en worden ze vaak gebruikt in SQL.
Inhoudsopgave
Twee soorten tijdelijke tabellen in SQL
Er zijn 2 soorten tijdelijke tabellen in SQL. Dit zijn de lokale en globale tijdelijke tabellen.
Lokale tijdelijke tabellen bestaan alleen in een sessie waarin deze is gemaakt. We hebben geen toegang tot deze tabel in andere sessies. Hierdoor zullen lokale tijdelijke tabellen niet meer bestaan zodra de sessie waarin deze is gemaakt, is gesloten.
Globale tijdelijke tabellen zijn daarentegen toegankelijk in alle sessies wanneer ze worden gemaakt. Maar zodra alle sessies zijn gesloten, bestaat het niet meer en is het niet meer toegankelijk.
Houd er rekening mee dat u eenvoudig kunt identificeren welk type tijdelijke tabel in een query wordt gebruikt door het symbool " # " aan te vinken voor lokaal en " ## " voor de globale tijdelijke tabel.
Lokale tijdelijke tabellen beginnen meestal met " # " in hun tabelnaam.
Aan de andere kant beginnen globale tijdelijke tabellen met " ## " voor de tabelnaam.
Als u bovendien snel een willekeurige tabel wilt maken, kunt u het volgende commando volgen: SELECT * INTO #customers FROM dbo.courses als voorbeeld.
Met deze opdracht wordt een nieuwe tijdelijke tabel met de naam #customers gemaakt met alle gegevens uit de tabel dbo.courses .
Weergaven in Microsoft SQL Server Management Studio
Laten we nu SQL-weergaven bespreken met deze voorbeeldopdracht.
Laten we bijvoorbeeld zeggen dat we een dergelijk commando niet herhaaldelijk willen uitvoeren. U kunt het eenvoudig in een weergave plaatsen door de onderstaande opdracht te volgen.
Het maken van een weergave is vergelijkbaar met het maken van tabellen. Door dit te gebruiken, kunnen we de zoekopdracht uitvoeren die we hebben ingevoerd door de weergavenaam te selecteren die we hebben gemaakt. In dit geval is dat CustomersbyYear_v .
Het is belangrijk op te merken dat weergaven verschillen van tijdelijke tabellen. Dat komt omdat weergaven in uw database zichtbaar zijn, net als een fysieke tabel, tenzij u deze verwijdert. Bovendien slaan weergaven geen gegevens of waarden op.
In plaats daarvan wordt alleen de opdracht weergegeven die u direct na de opdracht CREATE VIEW hebt ingevoerd . U kunt ook elke tabelbewerking in weergaven uitvoeren.
Het belangrijkste is dat we weergaven gemakkelijk kunnen identificeren, aangezien ze meestal worden weergegeven door "v" aan het begin of einde van de weergavenaam te plaatsen.
Tijdelijke tabellen en weergaven maken in SQL
Voor dit voorbeeld heb ik deze query die de records van Sales.SalesOrderHeader en Sales.Customer C zal combineren en weergeven nadat deze is uitgevoerd.
Lokale tijdelijke tabellen maken in SQL
Stel je voor dat je een query hebt geschreven die 200 regels lang is en dat je moet debuggen en er bepaalde bewerkingen op moet uitvoeren. U kunt de query niet rechtstreeks bewerken , omdat dit tijdens het proces meer fouten kan veroorzaken.
In dat geval gaan we, aan de hand van het vorige voorbeeld, een lokale tijdelijke tabel maken door het commando " INTO #test_local " toe te voegen voor het FROM-commando.
Zodra we deze opdracht hebben uitgevoerd, bevat #test_local nu de gecombineerde records van Sales.SalesOrderHeader en Sales.Customer C . Dit is wat u ziet als u de tabel #test_local selecteert .
Daarna kunnen we nu alle bewerkingen uitvoeren op de #test_local- tabel. We selecteren alle records van #test_local en vervolgens wijzigen we de volgorde van records op CustomerID met behulp van de volgende opdracht.
Als gevolg hiervan zijn de records nu gesorteerd op hun CustomerID. Maar aangezien we een lokale tijdelijke tabel hebben gebruikt, hebben we geen toegang tot de #test_local- tabel of kunnen deze niet gebruiken in een andere sessie. Het volgende voorbeeld laat zien wat er gaat gebeuren als we toegang proberen te krijgen tot #test_local in SQLQuery2.sql .
Gebaseerd op het vorige voorbeeld, bij het selecteren van #test_local , werd er zojuist een foutmelding weergegeven. Dit komt doordat de tabel #test_local alleen bestaat in de sessie waarin deze is gemaakt, namelijk SQLQuery1.sql .
Globale tijdelijke tabellen maken in SQL
Vervolgens gebruiken we dezelfde query die we gebruikten in #test_local . Maar deze keer gebruiken we een globale .
Als we nu ##test_global selecteren en de records ordenen op CustomerID, zal het dezelfde uitvoer tonen als wat we hadden in #test_local, aangezien we dezelfde query gebruikten.
Daarna proberen we toegang te krijgen tot de ##test_global- tabel in een andere sessie door deze te selecteren. Dit werkt naadloos omdat we een globale tijdelijke tabel gebruiken.
Op dit punt benadrukken we het verschil tussen lokale en globale tijdelijke tabellen.
Onthoud dat lokale tijdelijke tabellen alleen toegankelijk zijn in een sessie waarin ze zijn gemaakt . Zodra u die sessie sluit, bestaat deze niet meer.
Aan de andere kant zijn globale tijdelijke tabellen zichtbaar voor alle sessies , tenzij u alle actieve sessies of de toepassing zelf sluit.
Weergaven maken in SQL
We gaan nu een weergave maken. In dit voorbeeld hebben we een bestaande query zoals deze.
We kunnen beginnen met het maken van een weergave door de opdracht CREATE VIEW aan die query toe te voegen.
Bij het uitvoeren van de opdracht wordt er een weergave gemaakt in de database waaraan we werken. In dit geval is dat AdventureWorks2012 .
We zouden ook de dbo.CustomerView_v in de map Views moeten zien nadat deze is vernieuwd. Om de map Views te vernieuwen, klikt u er met de rechtermuisknop op en selecteert u Vernieuwen .
Klik op het + pictogram rechts van de map Views en de dbo.CustomerView_v wordt zichtbaar.
U kunt deze weergave openen door met de rechtermuisknop op dbo.CustomerView_v te klikken en vervolgens Select Top 1000 Rows te kiezen uit de opties. Hierdoor worden 1000 records in die weergave weergegeven .
Hierna kunnen we nu dbo.CustomerView_v gebruiken en er elke bewerking op uitvoeren, net als een tabel. We willen bijvoorbeeld de records selecteren met SalesOrderID groter dan 50000 in dbo.CustomerView_v . In dit geval gebruiken we de volgende opdracht.
Nu kunnen we een bewerking uitvoeren op de weergave die we hebben gemaakt.
Conclusie
Kortom, we hebben de 2 soorten tijdelijke tabellen geleerd, samen met hun verschillen en waarom we ze moeten gebruiken. Daarnaast hebben we besproken dat tijdelijke tabellen dienen als een manier om fouten in uw query's op te lossen zonder de eigenlijke query te beschadigen.
Houd er rekening mee dat tijdelijke tabellen alleen zichtbaar zijn voor sessies waarin ze zijn gemaakt. Daarom bestaat het niet meer zodra we de actieve sessies of de applicatie zelf hebben gesloten.
We hebben ook geleerd dat weergaven geen gegevens of records opslaan. Het toont alleen resultaten op basis van de query die u wilt weergeven. Deze weergaven worden opgeslagen in onze database zodra we ze hebben gemaakt.
Door deze twee te leren, heb je nu de mogelijkheid om snel lange commando's uit te voeren en grote stukken dataset met gemak te wijzigen.
Al het beste,
Hafiz
Wat is zelf in Python: voorbeelden uit de echte wereld
Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.
In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.
Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.
In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.
Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.
Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.
Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.
Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.
Wat is LuckyTemplates Gateway? Alles wat u moet weten