Snowflake-opmaker
Maak Snowflake SQL op volgens de regels van Snowflake voor $$-strings, //-commentaar, ::-casts en semi-gestructureerde paden zoals src:customer.name. QUALIFY en MINUS worden als clausules behandeld, SELECT * EXCLUDE, RENAME en REPLACE blijven op dezelfde regel en ASOF JOIN begint op een nieuwe regel. Niet-afgesloten strings en haakjes worden gemeld met regel- en kolomnummer, zodat data-engineers warehouse-query's en scripts kunnen controleren.
Veelgestelde vragen
Welke Snowflake-syntaxis wordt herkend?
Strings tussen enkele aanhalingstekens met backslash-escapes en dubbele aanhalingstekens, dollarstrings met $$, identifiers tussen dubbele aanhalingstekens, $1-kolomverwijzingen en ::-casts worden herkend. Ook de //-regelcommentaren die Snowflake naast -- en /* */ accepteert, blijven behouden.
Blijven semi-gestructureerde paden intact?
Ja. Paden zoals src:customer.name of v:items[0]::string blijven aaneengesloten, zodat toegang tot VARIANT nooit door spaties wordt onderbroken.
Welke Snowflake-clausules worden ondersteund?
QUALIFY begint op een eigen regel en MINUS wordt behandeld als de andere setoperators. ASOF JOIN begint net als andere joins op een nieuwe regel.
Hoe zit het met SELECT * EXCLUDE?
EXCLUDE, RENAME, REPLACE en ILIKE blijven op dezelfde regel staan als de ster waarop ze van toepassing zijn. SELECT * EXCLUDE (secret) wordt daardoor als één kolomexpressie gelezen.
Wat gebeurt er met procedureteksten tussen $$?
Teksten van JavaScript-, Python- of Snowflake Scripting-procedures tussen $$-markeringen blijven precies zoals geschreven. Voor Snowflake zijn dit strings, dus ze opnieuw opmaken kan de code veranderen.
Ondersteunt dit MERGE?
Ja. De vertakkingen WHEN MATCHED en WHEN NOT MATCHED beginnen op een nieuwe regel.
Verandert de hoofdlettergebruik van trefwoorden?
Nee. Trefwoorden en namen behouden de schrijfwijze die je hebt gebruikt. Identifiers tussen aanhalingstekens zijn hoofdlettergevoelig in Snowflake en worden nooit aangepast.
Welke fouten worden gedetecteerd?
Niet-afgesloten strings, $$-strings, identifiers tussen aanhalingstekens en blokcommentaar, en niet-sluitende haakjes, elk met regel- en kolomnummer. Er wordt niets naar je warehouse verstuurd.
Hoe groot mag de invoer zijn?
Maximaal 1 MB per aanvraag en 128 KB per statement. Worksheets met veel statements worden statement voor statement opgemaakt.
Kan ik de inspringing kiezen en wordt mijn SQL opgeslagen?
Gebruik 2 of 4 spaties of tabs. De SQL wordt alleen in het geheugen opgemaakt en nooit opgeslagen.