Snowflake-formázó
Formázza a Snowflake SQL-t a Snowflake szabályai szerint: a $$ karakterláncok, a // megjegyzések, a :: típuskonverziók és az olyan félig strukturált útvonalak, mint a src:customer.name. A QUALIFY és a MINUS záradékként jelenik meg, a SELECT * EXCLUDE, RENAME és REPLACE egy sorban marad, az ASOF JOIN pedig új sorba kerül. A lezáratlan karakterláncokat és zárójeleket sorszámmal és oszloppal jelzi, így segít az adatmérnököknek áttekinteni a raktári lekérdezéseket és szkripteket.
Gyakran ismételt kérdések
Mely Snowflake-szintaxisokat ismeri fel?
Felismeri a backslash escape-eket és dupla idézőjeleket tartalmazó, aposztrófok közötti karakterláncokat, a $$ jelek közötti karakterláncokat, a dupla idézőjelek közötti azonosítókat, a $1 oszlophivatkozásokat és a :: típuskonverziókat. Megőrzi a Snowflake által a -- és a /* */ mellett elfogadott // sorvégi megjegyzéseket is.
A félig strukturált útvonalak egyben maradnak?
Igen. Az olyan útvonalak, mint a src:customer.name vagy a v:items[0]::string, egyben maradnak, így a VARIANT-hozzáférést soha nem bontják szét szóközök.
Mely Snowflake-záradékok támogatottak?
A QUALIFY új sorban kezdődik, a MINUS pedig a többi halmazműveleti operátorhoz hasonlóan jelenik meg. Az ASOF JOIN a többi JOIN-hoz hasonlóan új sorban kezdődik.
Mi a helyzet a SELECT * EXCLUDE kifejezéssel?
Az EXCLUDE, a RENAME, a REPLACE és az ILIKE a módosított csillaggal egy sorban marad. Így a SELECT * EXCLUDE (secret) egyetlen oszlopkifejezésként olvasható.
Mi történik a $$ közötti eljárástörzsekkel?
A JavaScript, Python vagy Snowflake Scripting eljárásoknak a $$ jelek között megadott törzse pontosan úgy marad, ahogyan írták. A Snowflake karakterláncként kezeli őket, ezért az újraformázás megváltoztathatná a kódot.
Támogatja a MERGE utasítást?
Igen. A WHEN MATCHED és a WHEN NOT MATCHED ágak új sorban kezdődnek.
Megváltoztatja a kulcsszavak kis- és nagybetűit?
Nem. A kulcsszavak és nevek megőrzik az íráskor használt kis- és nagybetűket. A Snowflake-ben az idézőjelek közötti azonosítók kis- és nagybetűérzékenyek, ezért soha nem módosítjuk őket.
Milyen hibákat észlel?
A lezáratlan karakterláncokat, $$ karakterláncokat, idézőjelek közötti azonosítókat és blokkmegjegyzéseket, valamint a kiegyensúlyozatlan zárójeleket sorszámmal és oszloppal jelzi. Semmi sem kerül elküldésre az adattárházába.
Mekkora lehet a bemenet?
Kérésenként legfeljebb 1 MB, utasításonként pedig 128 KB. A sok utasítást tartalmazó munkalapokat utasításonként formázzuk.
Választhatok behúzást, és tárolódik az SQL?
Használjon 2 vagy 4 szóközt, illetve tabulátorokat. A SQL csak a memóriában formázódik, és soha nem kerül mentésre.