関数の作成やストア プロシージャなどのコマンドを含む一種の大きな SQL スクリプトを解析しようとしています。ステートメントを見つけるたびにファイルを文字列に分割しGO
たい (SMO の代わりに通常の ado.net を使用して実行したい)。
問題は、これに適した正規表現が今のところ見つからないことです。単純な\bGO\b
無視ケースを使用すると、それが分割されます。ただし、次のようなコメント内のすべての go(s) も分割されます
/*****************************\
sql statement 1
GO
sql statement 2
GO
\****************************/
私の要件は次のとおりです。スクリプトにGOステートメントが含まれていても、コメントの下にある場合はスクリプトを分割しないでください。スクリプト全体が次のようになっているとします。
sql statement 1
GO
/*****************************\
sql statement 2
GO
sql statement 3
GO
\****************************/
sql statement 4
期待される出力は次のようになります
First command :
sql statement 1
Second command :
/*****************************\
sql statement 2
GO
sql statement 3
GO
\****************************/
sql statement 4
これについて何か考えがありますか?
前もって感謝します。:)