SQL Server Management Studio总是插入一个GO命令时,我创建一个查询使用右键单击“脚本作为”菜单。为什么?GO到底是做什么的?
当前回答
GO意思是让SQL重复这个你在它后面加上的数字。就像用英语说;“嘿,去那里3次。”尝试下面的SQL和结果将呈现表3次。
SELECT * FROM Table
GO 3
其他回答
Go的意思是,无论SQL语句写在它之前和任何更早的Go之后,都将去SQL服务器进行处理。
Select * from employees;
GO -- GO 1
update employees set empID=21 where empCode=123;
GO -- GO 2
在上面的例子中,在GO 1之前的语句将在一个批处理中进入sql server,然后在GO 2之前的任何其他语句将在另一个批处理中进入sql server。我们可以看到它是分开的批次。
它是一个批处理终止符,但是你可以将它更改为任何你想要的
GO不是SQL关键字。
它是客户端工具(如SSMS)使用的批处理分隔符,用于将整个脚本分解为批处理
之前回答过几次…示例1
只是为了添加到现有的答案,当你创建视图时,你必须使用go将这些命令分成批量,否则你会得到错误'CREATE VIEW'必须是批处理中唯一的语句。例如,如果没有go,您将无法执行下面的sql脚本
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
Use herDatabase
GO ;
代码表示执行GO标记上面的指令。 我的默认数据库是myDatabase,所以不是使用myDatabase GO,并使当前查询使用她的数据库
推荐文章
- 确定记录是否存在的最快方法
- 从现有模式生成表关系图(SQL Server)
- 我如何循环通过一组记录在SQL Server?
- 数据库和模式的区别
- 如何在SQL Server中一次更改多个列
- 如何从SQL Server Management Studio的历史记录中删除“服务器名称”项
- 外键约束可能导致循环或多条级联路径?
- 如何选择每一行的列值不是独特的
- nvarchar(max)非文本
- 在SQL Server 2008 R2中重命名数据库时出错
- 将数据复制到另一个表中
- 如何在SQL中选择表的最后一条记录?
- 修改列,添加默认约束
- 在存储过程中使用“SET XACT_ABORT ON”有什么好处?
- 如何检查SQL Server文本列是否为空?