2015年3月25日 星期三

透過StreamReader從Script.sql讀取內容,執行到SqlCommand.ExecuteNonQuery()時出現Error,不過把Script放到SSMS執行是正常的
image
image

GO 不是 Transact-SQL 陳述式;它是 sqlcmd 和 osql 公用程式與 SQL Server Management Studio 程式碼編輯器都能夠辨識的命令。
SQL Server 公用程式會將 GO 解譯成應該將目前的 Transact-SQL 陳述式批次傳送給 SQL Server 執行個體的信號。 目前的陳述式批次由在上一個 GO 之後輸入的所有陳述式組成;如果是第一個 GO,便是從特定工作階段或指令碼開始之後輸入的所有陳述式組成。
也就是GO並非SQL的一部份,僅僅藉由它來區隔陳述式,ExecuteNonQuery()並不認識GO指令

處理方式:同樣是透過GO來區隔陳述式,分段執行ExecuteNonQuery()
image

參考:GO (Transact-SQL)SQL Server 批次範例

Post a Comment: