2
我想解析一個包含像創建函數和存儲過程的命令的一種大SQL腳本。我想在我找到GO
語句(我想使用普通的ado.net而不是SMO來執行它)時以字符串拆分文件。正則表達式來拆分SQL腳本,但忽略拆分評論腳本下去GO
問題是,到目前爲止我還沒有找到合適的正則表達式。使用一個簡單的\bGO\b
忽略大小寫將會分割它。但也將拆分都去(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
對此有什麼想法?
在此先感謝。 :)
我認爲他需要評論中的「GO」保留。 –
感謝mishik和Radu的迴應。正如拉杜提到的,我想保留帶有未註釋腳本的評論腳本。例如,如果我有一個腳本來創建一個存儲過程或觸發器,可以在腳本中間註釋一些腳本。在運行此腳本來創建存儲過程或觸發器時,我應該保留註釋腳本。我的意思是一旦在數據庫中創建了存儲過程或觸發器,我應該能夠在存儲過程/觸發器的腳本中看到註釋過的腳本。謝謝 – user2549745