Μορφοποιητής PL/SQL
Μορφοποιήστε Oracle SQL και PL/SQL με κανόνες Oracle για εναλλακτικά εισαγωγικά q'[...]', συμβολοσειρές N'', αναγνωριστικά σε διπλά εισαγωγικά, μεταβλητές :bind και την κάθετο που εκτελεί ένα μπλοκ στο SQL*Plus. Οι CONNECT BY, START WITH, RETURNING και MINUS διατηρούνται ως ρήτρες, ενώ τα μπλοκ BEGIN και END μαζί με τα IF και LOOP αποκτούν εσοχή. Οι μη κλειστές συμβολοσειρές και παρενθέσεις αναφέρονται με γραμμή και στήλη για τους προγραμματιστές Oracle.
Συχνές ερωτήσεις
Ποια σύνταξη Oracle αναγνωρίζεται;
Αναγνωρίζονται συμβολοσειρές σε μονά εισαγωγικά με διπλασιασμένα εισαγωγικά, εναλλακτικά εισαγωγικά όπως q'[it's]' ή q'{...}' και εθνικές συμβολοσειρές N''. Τα αναγνωριστικά σε διπλά εισαγωγικά, τα ονόματα με # και $, όπως emp#, οι μεταβλητές :bind και οι εκχωρήσεις := διατηρούνται ανέπαφα.
Μπορεί να μορφοποιήσει μπλοκ PL/SQL;
Ναι. Οι ενότητες BEGIN και END, οι δομές IF THEN ELSE END IF, CASE και LOOP αποκτούν εσοχή, με κάθε εντολή σε δική της γραμμή. Οι δηλώσεις πριν από το BEGIN διατηρούνται ως ξεχωριστές εντολές.
Τι συμβαίνει με τη γραμμή της καθέτου;
Μια γραμμή που περιέχει μόνο /, η οποία εκτελεί το προηγούμενο μπλοκ στο SQL*Plus και το SQLcl, παραμένει σε δική της γραμμή. Διαχωρίζει τα μπλοκ πριν και μετά από αυτήν.
Ποιες ρήτρες Oracle τοποθετούνται σε δική τους γραμμή;
Στα ιεραρχικά ερωτήματα, οι CONNECT BY και START WITH διατηρούνται ως ρήτρες. Οι τελεστής συνόλων RETURNING και MINUS αντιμετωπίζονται όπως οι τυπικές ρήτρες SELECT, FROM, WHERE, GROUP BY και ORDER BY.
Υποστηρίζει το MERGE;
Ναι. Οι κλάδοι WHEN MATCHED THEN και WHEN NOT MATCHED THEN ξεκινούν σε νέες γραμμές, ώστε οι εντολές Oracle MERGE να παραμένουν ευανάγνωστες.
Διατηρούνται τα σχόλια;
Ναι. Τα σχόλια γραμμής -- και τα σχόλια μπλοκ /* */ διατηρούνται στη θέση τους. Οι υποδείξεις βελτιστοποίησης, όπως /*+ INDEX(e) */, παραμένουν ακριβώς όπως γράφτηκαν.
Αλλάζει την πεζοκεφαλαία γραφή των λέξεων-κλειδιών;
Όχι. Οι λέξεις-κλειδιά και τα αναγνωριστικά διατηρούν τα πεζά και κεφαλαία που γράψατε. Τα ονόματα Oracle χωρίς εισαγωγικά δεν διακρίνουν πεζά από κεφαλαία, ενώ εκείνα σε εισαγωγικά διακρίνουν· και τα δύο παραμένουν όπως είναι.
Ποια σφάλματα εντοπίζονται;
Μη κλειστές συμβολοσειρές, εναλλακτικά εισαγωγικά, αναγνωριστικά σε εισαγωγικά και σχόλια μπλοκ, καθώς και μη ισορροπημένες παρενθέσεις, το καθένα με γραμμή και στήλη. Τα πακέτα και η γραμματική δεν μεταγλωττίζονται.
Πόσο μεγάλο μπορεί να είναι το αρχείο εισόδου;
Έως 1 MB ανά αίτημα και 128 KB ανά εντολή ή μπλοκ. Τα μεγαλύτερα πακέτα μπορούν να μορφοποιηθούν σε μέρη.
Μπορώ να επιλέξω την εσοχή και αποθηκεύεται ο κώδικάς μου;
Χρησιμοποιήστε 2 ή 4 κενά ή στηλοθέτες. Ο κώδικας μορφοποιείται μόνο στη μνήμη και δεν αποθηκεύεται ποτέ.