SnowConvert: Validierung mehrdeutiger Kommentare¶
Beschreibung¶
Dieser Validierungsschritt prüft, ob der Eingabecode eine Zeichenfolge enthält, die zu mehrdeutigen Kommentaren führen kann (/*/
).
Wenn der Eingabecode einen mehrdeutigen Kommentar enthält, wird ein Fenster mit einer Warnung wie der folgenden angezeigt:
Außerdem finden Sie in dem Bericht ScopeValidation Informationen über die fehlgeschlagene(n) Datei(en).
Warum ist er mehrdeutig?¶
Der Blockkommentare in SQL beginnen mit /*
und enden mit */
. Wenn die Zeichenfolge /*/
verwendet wird, kann sie, je nach Ausgangssprache, eine Verschachtelung innerhalb des Blockkommentars beginnen oder den gesamten Block beenden.
Hier ist ein Beispiel für gültige Anweisungen mit /*/
.
select col1,
/*Some comment/*/ */*/
col2,
col3
from
table1;
select col1,
/*Some comment/*/
col2,
col3
from
table1;
select col1,
/*Some comment/*/ */*/
col2,
col3
from
table1;
select col1,
/*Some comment/*/
col2,
col3
from
table1;
Wie Sie sehen können, verhält sich der Kommentar in Teradata und SQL Server anders als in Oracle und Snowflake. Auch in Teradata gibt es eine andere Behandlung für BTEQ und andere Skriptsprachen.
Auflösen der Mehrdeutigkeit¶
Wenn Sie in Snowflake in Ihrem Code auf die Sequenz /*/ stoßen, endet damit normalerweise ein Blockkommentar. Wenn Sie ihn jedoch in Ihrem Quellcode anders verwenden, sollten Sie ihn entsprechend anpassen.