SQL Server Management Studio luôn chèn lệnh GO khi tôi tạo truy vấn bằng cách sử dụng menu chuột phải "Script As". Tại sao? GO thực sự làm gì?Việc sử dụng GO trong SQL Server Management Studio & Transact SQL là gì?
Trả lời
Lệnh GO không phải là câu lệnh Transact-SQL, mà là lệnh đặc biệt được một số tiện ích MS nhận dạng bao gồm trình soạn thảo mã SQL Server Management Studio.
Lệnh GO được sử dụng để nhóm các lệnh SQL thành các lô được gửi đến máy chủ cùng nhau. Các lệnh được bao gồm trong lô, tức là tập các lệnh từ lệnh GO cuối cùng hoặc bắt đầu phiên, phải nhất quán về mặt logic. Ví dụ, bạn không thể định nghĩa một biến trong một lô và sau đó sử dụng nó trong một biến khác vì phạm vi của biến được giới hạn trong lô mà nó được định nghĩa.
Để biết thêm thông tin, hãy xem http://msdn.microsoft.com/en-us/library/ms188037.aspx.
Trong trường hợp nào thì việc xếp hàng với 'GO' thực sự hữu ích? – nicodemus13
@ nicodemus13 Xem http://stackoverflow.com/questions/20711326/sql-server-what-is-go-good-for –
Đây phải là câu trả lời được chấp nhận. Câu trả lời được chấp nhận hiện tại không thực sự trả lời câu hỏi. – Zack
GO không phải là từ khóa SQL.
Đó là một dấu phân cách hàng loạt được sử dụng bởi các công cụ của khách hàng (như SSMS) để phá vỡ toàn bộ kịch bản thành lô
trả lời trước nhiều lần ... example 1
Trong phòng thủ của tôi, tôi đã xem xét các bản sao được đề xuất trước khi tôi gửi câu hỏi - và ví dụ của bạn không hiển thị, cũng không thực sự là bản sao, mặc dù câu trả lời có thể áp dụng được. – tvanfosson
Thật khó để tìm kiếm "GO" ở đây :-) – gbn
Use herDatabase
GO ;
Mã nói để thực hiện các hướng dẫn trên GO
marker. cơ sở dữ liệu mặc định của tôi là myDatabase, vì vậy thay vì sử dụng myDatabase GO
và làm cho truy vấn hiện tại để sử dụng herDatabase
Từ Management Studio 2005 có vẻ như là bạn có thể sử dụng GO
với một tham số int
, như:
INSERT INTO mytable DEFAULT VALUES
GO 10
Trên đây sẽ chèn 10 hàng vào mytable
. Nói chung, GO
sẽ thực thi lệnh sql có liên quan n
lần.
Đây là sự kỳ diệu của GO.
SELECT 'Go'
Go 10
CÚ PHÁP: Go INT (BatchNumber)
BatchNumber: Số lần xảy ra
Trông đơn giản, Nó có thể dẫn bạn đến Spaghetti nếu bạn mã hóa sâu sắc hơn.
Chỉ để thêm vào câu trả lời hiện có, khi bạn đang tạo chế độ xem, bạn phải tách các lệnh này thành các lô bằng cách sử dụng go
, nếu không bạn sẽ gặp lỗi 'CREATE VIEW' must be the only statement in the batch
. Vì vậy, ví dụ, bạn sẽ không thể thực thi kịch bản sql sau đây mà không 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. Thả bảng trong Sql Server bằng Sql Server Management Studio
- 2. Macro trong SQL Server Management Studio
- 3. Sử dụng Solution/Dự án trên SQL Server Management Studio
- 4. Mất IntelliSense trong SQL Server Management Studio
- 5. báo cáo Format SQL trong SQL Server Management Studio 2008
- 6. Thêm hàng mới Sử dụng SQL Server Management Studio?
- 7. SQL Server Management Studio Express và MySQL?
- 8. Việc sử dụng SYNONYM trong SQL Server 2008 là gì?
- 9. Dừng SQL Server Management Studio thêm ANSI_NULLS và QUOTED_IDENTIFIER
- 10. Cơ sở dữ liệu SQL Azure bằng cách sử dụng SQL Server Management Studio
- 11. Kiểm thử đơn vị trong SQL Server Management Studio
- 12. Cách nhận "quyền quản trị" trong SQL Server Management Studio?
- 13. "Yêu thích" hoặc "macro" trong SQL Server Management studio?
- 14. Intellisense cho JOINs trong SQL Server Management Studio
- 15. Tạo một mục menu mới trong SQL Server Management Studio
- 16. Tắt lời nhắc "lưu" trong SQL Server Management Studio 2005
- 17. Phím tắt để đóng tab trong SQL Server Management Studio?
- 18. Cách ghép từ trong SQL Server Management Studio
- 19. Bảng chữ cái Cyrillic với Microsoft SQL Server Management Studio
- 20. Oracle tương đương với MS SQL Server Management Studio Phiên bản MIỄN PHÍ là gì?
- 21. Ctrl-Shift-M không còn làm việc trong SQL Server Management Studio
- 22. SQL Server Management Studio - Phím tắt để nhập ngày?
- 23. SQL Server Management Studio thực hiện shortcut & phím tắt
- 24. Chính xác SQL Server 2005 là gì?
- 25. Tôi có thể sử dụng SQL Server Management Studio 2005 cho DB 2008 không?
- 26. Thay đổi CommandTimeout trong SQL Management studio
- 27. In Sơ đồ Máy chủ SQL (từ SQL Server Management Studio Express)
- 28. Visual Studio - Mở một tệp SQL với SQL Management Studio trong cửa sổ SSMS hiện có?
- 29. Mục đích của việc sử dụng OPTION (MAXDOP 1) trong SQL Server là gì?
- 30. Nhập/Xuất cơ sở dữ liệu với SQL Server Server Management Studio
Duplicate - http://stackoverflow.com/questions/971177/using-go-within-a-transaction – ChrisF
@ ChrisF - đó không phải là một bản sao, mặc dù câu trả lời được chấp nhận cũng trả lời câu hỏi này.Câu hỏi đó là về việc sử dụng "GO" trong một giao dịch - nó chỉ ra rằng nó không thực sự là một lệnh SQL chút nào. Câu hỏi này tổng quát hơn nhiều và cố gắng cung cấp một câu trả lời dứt khoát cho các câu hỏi về lệnh GO trong SSMS. – tvanfosson
Ngoài ra hãy xem liên kết này: [Các câu lệnh batching tốt cho là gì?] (Http://stackoverflow.com/questions/20711326/sql-server-what-are-batching-statements-ie-using-go-good -cho) –