Μορφοποιητής Snowflake
Μορφοποιήστε το SQL με τους κανόνες του Snowflake για συμβολοσειρές $$, σχόλια //, μετατροπές τύπου :: και ημιδομημένες διαδρομές όπως src:customer.name. Τα QUALIFY και MINUS αντιμετωπίζονται ως ρήτρες, τα SELECT * EXCLUDE, RENAME και REPLACE παραμένουν στην ίδια γραμμή και το ASOF JOIN ξεκινά σε νέα γραμμή. Οι μη κλειστές συμβολοσειρές και παρενθέσεις αναφέρονται με γραμμή και στήλη, διευκολύνοντας τους μηχανικούς δεδομένων να ελέγχουν ερωτήματα και σενάρια αποθήκης δεδομένων.
Συχνές ερωτήσεις
Ποια σύνταξη Snowflake αναγνωρίζεται;
Αναγνωρίζονται συμβολοσειρές σε μονά εισαγωγικά με διαφυγές ανάστροφης καθέτου και διπλά εισαγωγικά, συμβολοσειρές $$ σε εισαγωγικά δολαρίου, αναγνωριστικά σε διπλά εισαγωγικά, αναφορές στηλών $1 και μετατροπές τύπου ::. Διατηρούνται επίσης τα σχόλια γραμμής // που δέχεται το Snowflake, εκτός από τα -- και /* */.
Διατηρούνται ακέραιες οι ημιδομημένες διαδρομές;
Ναι. Διαδρομές όπως src:customer.name ή v:items[0]::string παραμένουν ενωμένες, ώστε η πρόσβαση σε VARIANT να μη διασπάται ποτέ από κενά.
Ποιες ρήτρες Snowflake υποστηρίζονται;
Το QUALIFY ξεκινά σε δική του γραμμή και το MINUS αντιμετωπίζεται όπως οι άλλοι τελεστές συνόλων. Το ASOF JOIN ξεκινά σε νέα γραμμή όπως και οι άλλες συνδέσεις.
Τι γίνεται με το SELECT * EXCLUDE;
Τα EXCLUDE, RENAME, REPLACE και ILIKE παραμένουν στην ίδια γραμμή με τον αστερίσκο που τροποποιούν. Έτσι, το SELECT * EXCLUDE (secret) εμφανίζεται ως μία έκφραση στήλης.
Τι γίνεται με τα σώματα διαδικασιών μέσα σε $$;
Τα σώματα διαδικασιών JavaScript, Python ή Snowflake Scripting που είναι γραμμένα ανάμεσα σε δείκτες $$ διατηρούνται ακριβώς όπως γράφτηκαν. Για το Snowflake είναι συμβολοσειρές, επομένως η αναδιαμόρφωσή τους θα μπορούσε να αλλάξει τον κώδικα.
Υποστηρίζει το MERGE;
Ναι. Οι κλάδοι WHEN MATCHED και WHEN NOT MATCHED ξεκινούν σε νέες γραμμές.
Αλλάζει την πεζοκεφαλαία γραφή των λέξεων-κλειδιών;
Όχι. Οι λέξεις-κλειδιά και τα ονόματα διατηρούν την πεζοκεφαλαιοποίηση που γράψατε. Τα αναγνωριστικά σε εισαγωγικά κάνουν διάκριση πεζών και κεφαλαίων στο Snowflake και δεν τροποποιούνται ποτέ.
Ποια σφάλματα εντοπίζονται;
Μη κλειστές συμβολοσειρές, συμβολοσειρές $$, αναγνωριστικά σε εισαγωγικά και σχόλια μπλοκ, καθώς και μη ισοζυγισμένες παρενθέσεις, όλα με γραμμή και στήλη. Τίποτα δεν αποστέλλεται στην αποθήκη δεδομένων σας.
Πόσο μεγάλο μπορεί να είναι το αρχείο εισόδου;
Έως 1 MB ανά αίτημα και 128 KB ανά εντολή. Τα φύλλα εργασίας με πολλές εντολές μορφοποιούνται μία εντολή κάθε φορά.
Μπορώ να επιλέξω την εσοχή και αποθηκεύεται το SQL μου;
Χρησιμοποιήστε 2 ή 4 κενά ή στηλοθέτες. Το SQL μορφοποιείται μόνο στη μνήμη και δεν αποθηκεύεται ποτέ.