SQL Server 中 GO 的作用

CREATE DATABASE MyDatabase;
USE MyDatabase;
GO
--定义局部变量
DECLARE @s_no varchar(8), @s_avgrade numeric(4,1);
--对局部变量赋值
SET s_no = '20170208';
SET @s_avgrade = 95.0;
--使用局部变量
UPDATE student SET s_avgrade = @s_avgrade
WHERE s_no = @s_no;

GO 的作用

  • GO 不是 SQL 语言的标准关键字。
  • 它是 SQL Server 的 批处理分隔符(batch separator)
  • 它用于 告诉客户端工具(比如 SSMS、sqlcmd)“前面的 SQL 命令已经写完,可以一起提交到 SQL Server 引擎去执行了。”
  • 当客户端工具遇到 GO 时,会把它前面的所有 SQL 语句一起发送给 SQL Server 执行。
  • GO 本身不会被发给数据库引擎执行。

简单理解:

你可以把 GO 想象成:

“好啦,这一组 SQL 我写完了,你赶快去执行吧!”


在该例中:

CREATE DATABASE MyDatabase;
USE MyDatabase;
GO

这里的 GO 的作用是:
✅ 告诉 SQL Server 客户端:前面的 CREATE DATABASEUSE 命令可以一起提交并执行了。
✅ 之后的 DECLARESET 等会作为新的一批 SQL 命令。


⚠ 注意:

如果你不写 GO,在某些工具中可能:

  • USE MyDatabase; 不会立即生效,后续语句可能还在原数据库上执行。
  • 没有批处理的边界,可能导致语句解析顺序出错。

总结

GO 作用:

  • 分隔 SQL 批处理。
  • 告诉客户端“提交这一批去执行”。
  • 不会被 SQL Server 数据库引擎当作语句执行。

你可能感兴趣的:(golang,数据库,oracle)