當我使用右鍵單擊「腳本爲」菜單創建查詢時,SQL Server Management Studio始終插入GO命令。爲什麼? GO實際上做了什麼?GO在SQL Server Management Studio和Transact SQL中的用途是什麼?
回答
GO命令不是Transact-SQL語句,而是包含SQL Server Management Studio代碼編輯器在內的多個MS實用程序可識別的特殊命令。
GO命令用於將SQL命令組合成一起發送到服務器的批處理。批處理中包含的命令,即自上次GO命令或會話開始以來的一組命令,必須在邏輯上一致。例如,您不能在一個批次中定義變量,然後在另一個批次中使用它,因爲變量的範圍僅限於其定義的批次。請參閱http://msdn.microsoft.com/en-us/library/ms188037.aspx。
在什麼情況下使用'GO'來分配東西實際上有用? – nicodemus13 2013-03-21 11:06:22
@ nicodemus13請參閱http://stackoverflow.com/questions/20711326/sql-server-what-is-go-good-for – 2013-12-20 20:35:32
這應該是被接受的答案。目前接受的答案甚至不能回答這個問題。 – Zack 2015-04-13 15:23:17
在我的辯護中,我在提交問題之前查看了建議的重複內容,並且您的示例沒有顯示出來,也不是真的重複,儘管答案是適用的。 – tvanfosson 2010-02-19 20:20:51
在這裏很難搜索「GO」:-) – gbn 2010-02-19 20:22:38
Use herDatabase
GO ;
代碼表示執行GO
標記上面的說明。 我的默認數據庫MYDATABASE,所以不是使用myDatabase GO
,使當前查詢使用herDatabase
這是GO的魔力。
SELECT 'Go'
Go 10
語法:轉到INT (BatchNumber)
BatchNumber:的時間沒有發生
看起來簡單,它可能會導致你Spaghetti如果你的代碼更深。
只是要添加到現有的答案,當您創建視圖時,您必須使用go
將這些命令分成批號,否則您將收到錯誤'CREATE VIEW' must be the only statement in the batch
。因此,舉例來說,你不能沒有go
create view MyView1 as
select Id,Name from table1
go
create view MyView2 as
select Id,Name from table1
go
select * from MyView1
select * from MyView2
- 1. 什麼是sql server management studio
- 2. SQL在SQL Server Management Studio中
- 3. SQL Server Management Studio
- 4. SQL Server Management Studio中用於回滾的腳本是什麼?
- 5. Azure表和SQL Server Management Studio
- 6. Excel 2007和SQL Server Management Studio
- 7. 的SQL Server 2014 Management Studio中
- 8. 的SQL Server 2014 Management Studio中
- 9. 2005 SQL Server Management Studio
- 10. SQL Server Management Studio ZEROFILL
- 11. sql server management studio 2008
- 12. SQL Server Management Studio中的此SQL查詢有什麼問題?
- 13. 什麼是「查詢作家,在SQL Server Management Studio Express的
- 14. 在Microsoft SQL Server Management Studio中打開SQL Management Studio中的.sql腳本
- 15. 用於SQL Server 2000的SQL Sever Management Studio
- 16. 爲什麼Intellisense在SQL Server Management Studio 2008 R2中不起作用?
- 17. SQL Server Management Studio是否附帶Visual Studio?
- 18. 是什麼決定了SQL Server Management Studio中可以並行
- 19. 什麼是Mac上的一些免費的SQL Server Management Studio
- 20. SQL Server Management Studio上的服務器的要求是什麼
- 21. 爲什麼我的實例在SQL Server Management Studio中顯示2012
- 22. 爲什麼我無法在SQL Server Management Studio中打開此表?
- 23. SQL Server Management Studio 2012掛起
- 24. SQL Server Express 2008與Management Studio
- 25. SQL Server Management Studio缺失
- 26. SQL Server 2012 Management Studio - 腳本
- 27. sql server management studio 2008 installation
- 28. SQL Server Management Studio問題
- 29. SQL Management Studio中用於過濾的鍵盤方法是什麼?
- 30. 什麼是Oracle相當於MS SQL Server Management Studio免費版?
重複執行下面的SQL腳本 - http://stackoverflow.com/questions/971177/using-go-within-a-transaction – ChrisF 2010-02-19 20:21:44
@ ChrisF--這不是重複的,儘管接受的答案也回答了這個問題。這個問題是關於在一個事務中使用「GO」 - 事實證明它根本不是一個真正的SQL命令。這個問題更一般化,並嘗試爲SSMS中關於GO命令的問題提供確定的答案。 – tvanfosson 2010-02-19 20:31:01
也看看這個鏈接:[什麼是批處理語句好?](http://stackoverflow.com/questions/20711326/sql-server-what-are-batching-statements-ie-using-go-good -for) – 2013-12-20 20:38:37