当前位置: 首页 > news >正文

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 数据库引擎当作语句执行。

相关文章:

  • 深入剖析 CVE-2021-3560 与 CVE-2021-4034:原理、区别与联系
  • Zemax光学设计二次成像
  • Web基础关键_003_CSS(一)
  • Dockerfile——AI教你学Docker
  • 创建一个简单入门SpringBoot3项目
  • 桌面小屏幕实战课程:DesktopScreen 13 HTTP SERVER
  • HTTPS hostname wrong: should be <xxx>错误解决
  • Chrome浏览器访问https提示“您的连接不是私密连接”问题解决方案
  • 通信无BUG,ethernet ip转profinet网关,汽车焊接设备通信有心机
  • Windows的xshell连接VW里的centos系统里的mysql失败解决方法
  • algorithm ——————》双指针(移动0 复写0 快乐数 装水问题 以及数组中找几个数和为指定的元组)
  • 智能助手(利用GPT搭建智能系统)
  • 数据库内连接的几种方式及注意事项
  • 【数据结构】B树的介绍及其实现C++
  • C#系统学习第二章——第一个C#程序
  • 小型软件开发的三重境界:从混沌编码到结构化设计
  • C#中 Winform如何实现跨页面调用
  • 智能体Manus和实在Agent的区别
  • MySQL 连接指定端口后,为什么实际仍是 3306?
  • 机器学习基础 多层感知机