Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met SQL Warehouse-sessies kunt u variabelen definiëren, tijdelijke weergaven maken en statuswijzigingen bijhouden in meerdere queryuitvoeringen. Met sessies kunt u iteratief SQL-logica bouwen zonder dat u alle instructies tegelijk hoeft uit te voeren.
U kunt sessies in de volgende contexten gebruiken wanneer deze zijn gekoppeld aan een SQL Warehouse:
Voorbeeld van een toepassing
Met sessies kunt u commando's afzonderlijk uitvoeren zonder de gedeelde status te verliezen. U kunt bijvoorbeeld een variabele declareren, een tijdelijke weergave maken die gebruikmaakt van die variabele en vervolgens een query uitvoeren op de weergave.
In het volgende voorbeeld ziet u deze werkstroom:
-- Statement 1: Declare a variable
DECLARE VARIABLE row_limit = 10;
-- Statement 2: Create a temporary view using the variable
CREATE OR REPLACE TEMPORARY VIEW filtered_data AS
SELECT
*
FROM
main.default.sales_data
LIMIT row_limit;
-- Statement 3: Query the temporary view
SELECT
*
FROM
filtered_data;
Met sessies kunt u elke instructie afzonderlijk uitvoeren. De variabele en tijdelijke weergave blijven beschikbaar, zodat u uw query's kunt herhalen zonder alle vorige instructies opnieuw uit te voeren.
Hoe sessies werken
Er wordt een sessie gemaakt wanneer een gebruiker een query uitvoert op een SQL Warehouse. Sessies blijven actief zolang een opdracht ten minste eenmaal per acht uur wordt uitgevoerd. Sessies blijven, zelfs als het datamagazijn stopt of opnieuw wordt opgestart.
Een sessie verloopt na acht uur inactiviteit.
Status van gedeelde sessie
Alle opdrachten die binnen dezelfde sessie worden uitgevoerd, hebben het volgende gemeen:
- Variabelen gedeclareerd met
DECLARE VARIABLE - Tijdelijke weergaven gemaakt met
CREATE TEMPORARY VIEW - Omgevingsinstellingen zoals de huidige catalogus en het huidige schema
Sessiebereik en samenwerking
Sessies zijn gekoppeld aan zowel het queryobject (query, notebook of bestand) als het specifieke SQL-warehouse waaraan het is gekoppeld. Alle gebruikers die toegang tot dat object en de magazijnverbinding delen, delen ook dezelfde sessie.
Voorbeeld:
- Gebruiker A definieert een tijdelijke weergave in Query 1 terwijl deze is verbonden met Warehouse X.
- Gebruiker B kan een SQL-opdracht uitvoeren in Query 1 op Warehouse X die verwijst naar dezelfde tijdelijke weergave.
- Als Query 1 opnieuw wordt gekoppeld aan een ander magazijn, wordt er een nieuwe sessie met een eigen geïsoleerde status gemaakt.
Met dit samenwerkingsgedrag kunnen teams samenwerken aan het ontwikkelen van gedeelde query's, maar het betekent ook dat wijzigingen die door één gebruiker zijn aangebracht, van invloed zijn op alle andere gebruikers die dezelfde sessie delen.