SQL Server:批处理语句(即使用“GO”)有什么用处?

2023-12-19

我知道在 SQL Server 中GO 被视为批次分隔符 https://stackoverflow.com/questions/2299249/what-is-the-use-of-go-in-sql-server-management-studio.

我的问题是:批次分离器有什么意义?它给您带来什么好处以及您为什么要使用它?

示例:我经常看到它在 SQL 代码中使用,如下所示,但我不明白为什么它被认为是最佳实践。据我所知,如果没有所有的代码,代码将是相同的GO声明:

USE AdventureWorks2012;
GO
BEGIN TRANSACTION;
GO
IF @@TRANCOUNT = 0
BEGIN
    SELECT FirstName, MiddleName 
    FROM Person.Person WHERE LastName = 'Adams';
    ROLLBACK TRANSACTION;
    PRINT N'Rolling back the transaction two times would cause an error.';
END;
ROLLBACK TRANSACTION;
PRINT N'Rolled back the transaction.';
GO

(来源:技术网文档 http://technet.microsoft.com/en-us/library/ms187807.aspx):


在这个例子中,它没有任何用处。

然而,很多语句必须是批次中唯一的语句。

Such as CREATE PROCEDURE.

通常,在进行架构更改(例如,向现有表添加新列)后,必须在不同的批次中单独编译使用新架构的语句。

通常,可以替代提交由 分隔的单独批次GO是在子批处理中执行 SQL,使用EXEC

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server:批处理语句(即使用“GO”)有什么用处? 的相关文章

  • SQL 英文查询发生了什么?

    SQL Server 2000 与 English Query 一起部署 当时我还年轻 对 SQL 还很陌生 所以我跳过了那一章 多年后的现在 又出现了制作一个可以理解简单用户问题的逻辑程序的想法 还有其他选择吗 英语查询现在在哪里 英文查
  • 无法加入交易

    我有问题 我已经在 Windows 中设置了 1 个 sql 服务器 SQL Server 2014 Express 并在另一台服务器的 Linux 中设置了 1 个 Oracle 数据库服务器 11g 现在我想通过链接服务器将数据从SQL
  • SQL Server 2016升级到13.0.15700.28版本后频繁出现System.OutOfMemoryException

    我在具有多个显示器 16 GB DDR4 RAM 4 Ghz I7 GTX 970 的开发盒上运行 Windows 10 Pro 64 位 我使用 SQL Server 2016 Developer Edition 和 VS 2015 En
  • 当嵌入式键包含 SQL Server 上的标识列时,Hibernate 插入失败

    我正在尝试使用 hibernate 映射实体 但是使用 SQL Server 我无法继续 以下是详细信息 SQL Server 实体 CREATE TABLE dbo BOOK EMBEDDED row id bigint IDENTITY
  • SQL Server 之间的日期 LIKE

    请帮我如何插入LIKE 之间的日期 例子是 SELECT FROM table WHERE Date BETWEEN startDate AND endDate 所以在这段代码中我应该把LIKE这样数据就会出现 例如 如果我这样设置 SEL
  • 使用 Python 将 XML 文件存储到 MS SQL DB 中

    我的 MSSQL DB 表包含以下结构 create table TEMP MyXMLFile XML 使用 Python 我尝试将本地存储的 XML 文件加载到 MS SQL DB 不需要 XML 解析 以下是Python代码 impor
  • 将巨大的 xml 参数传递给存储过程的最佳方法

    实际上我正在尝试通过一个巨大的Xml到我的存储过程 但我总是得到一个输出of memory exception 因为我想通过string其大小限制为 2G 那么这样的事情有没有办法呢 不要使用XmlDocument 将 DOM 完全加载到内
  • 从sql server 2005中的列中获取查询的xml节点

    我有一个包含 2 列的表 第一个是带有主键的整数列 第二个是带有数据的 xml 列 数据列包含xml如下
  • 如何将 ROW_NUMBER() 分配给列?

    看完之后这个问题 https stackoverflow com questions 1293390 sql to output line number in results of a query 我还有一个类似的问题 有没有一种简单的方法
  • 无法将 null 值插入列...当值不为 null 时

    在我的 C 代码中 我在数据库中有一个插入 但它引发了异常 无法将 NULL 值插入表 Moroccanoil Replicated dbo Boxes 的 BoxID 列 列不允许为空 插入失败 然而 在调试这段代码时 我发现该框实际上不
  • SQL Server:十进制精度/小数位数产生奇怪的结果

    我正在为一个项目编写一些 SQL 我注意到 SQL Server 中一些看似奇怪的行为 涉及除以小数时的答案 以下是一些示例 说明了我所看到的行为 DECLARE Ratio Decimal 38 16 SET Ratio CAST 210
  • 有没有办法将加密的脚本插入 SQL Server 数据库?

    我的公司认为我们编写的数据库脚本是我们知识产权的一部分 在新版本中 我们为用户提供了由两部分组成的设置 桌面应用程序 一个可执行文件 它包含了初始化 更新数据库的复杂性 RedGate SQL Packager 我知道一旦脚本存在我就可以加
  • 在sql server中,sys.types中的user_type_id和system_type_id有什么区别

    sql server中sys types视图中的user type id和system type id有什么区别 我想将sys columns与sys types进行内连接以获取用户表中列的数据类型 但这两个视图都有两个字段user typ
  • SSDT 单元测试:从配置文件读取 SQL Server 单元测试设置时发生错误

    我在 Visual Studio 2013 professional 中创建了一个数据库项目 然后通过右键单击存储过程之一并选择来添加单元测试创建单元测试 选择创建一个新的VB测试项目 然后右键单击新创建的测试项目并选择SQL Server
  • 开发和生产 SQL Server 之间使用不同的排序规则会出现哪些问题?

    盘问 无法更新 sys columns 还有其他方法吗 https stackoverflow com questions 4018347 unable to update sys columns any other approach含糊地
  • 查看tomcat服务器的连接数

    我在 Tomcat Server 5 5 17 上部署了一个 Java Java EE Web 应用程序 我想知道连接到服务器的客户端数量 我们怎样才能找到它呢 最可靠的方法是搜索ip addr of srv port in netstat
  • SQL Server 数据归档解决方案

    我正在寻找一种解决方案来存档数据库中存在的数据 我的数据库是 SQL Server 2008 大约有 250 个表 我搜索网络并找到以下链接 http www dbazine com sql sql articles charran13 h
  • 从 Visual Studio 调试 SQL Server 2005 中的存储过程?

    我在这里和其他地方看到很多令人沮丧的问题 但没有明确的答案 我试图让存储过程进行调试 但没有成功 客户端 VS2005或VS2008 两者都不起作用 当我从存储过程上下文菜单中选择 步入存储过程 时 我在调试窗口中看到 已被用户取消 这就是
  • SQL Server:比较两个表中的列

    我最近完成了从某些应用程序的旧版本到当前版本的迁移 在迁移数据库时遇到了一些问题 我需要一个可以帮助我比较两个表中的列的查询 我的意思不是行中的数据 我需要比较列本身来弄清楚我错过了表结构的哪些变化 看一下红门 SQL 比较 http ww
  • 批量更新 SQL Server C#

    我有一个 270k 行的数据库 带有主键mid和一个名为value 我有一个包含中值和值的文本文件 现在我想更新表格 以便将每个值分配给正确的中间值 我当前的方法是从 C 读取文本文件 并为我读取的每一行更新表中的一行 必须有更快的方法来做

随机推荐

  • 如何将RGB图像转换为CMYK图像?

    我想将 RGB 图像转换为 CMYK 这是我的代码 第一个问题是 当我将每个像素除以 255 时 该值接近于零 因此生成的图像近似为黑色 第二个问题是我不知道如何将单通道结果图像转换为 4 通道 当然 我不确定下面代码中制作的CMYK是否正
  • 在 VBA 中创建计数器

    我想知道是否有一种有效的方法可以使用 vba 创建计数机制Worksheet SelectionChange事件 我想计算特定单元格被选择的次数 如果选择该单元格 则变量将增加 1 否则不会对变量进行任何更改 Dim S As String
  • SSL 证书可以由多个证书颁发机构签名吗?

    如果能稍微分散一点信任就好了 这样我们在任何情况下都不必只依赖一个根 是否可以有一个证书由多个 CA 签署 No the X509证书格式 https www rfc editor org rfc rfc5280直到版本 3 的设计都只包含
  • 在 python @patch 装饰器中使用 self

    我正在尝试使用python的mock patch来用nose实现单元测试 class A def setUp self self b 8 contrived example patch object module class functio
  • 如何从 GC 存储中删除过时的 Firebase Cloud 函数容器?

    因此 最近 Firebase 开始对 Cloud Functions 容器存储收费 https firebase google com pricing https firebase google com pricing 没有免费使用 0 0
  • 标题如何“即时”修改页面标题

    我的标题在每一页上都被称为你可以想象的那样 这意味着在每个页面上我都有相同的标题 对 SEO 不利 是否有解决方法可以在 header php 之外设置页面标题 Thanks 做一个变量 page title 在包含标题之前设置它 并在标题
  • 取消引用:我错过了什么?

    我正在尝试获取Unquote http code google com p unquote 在 NET 4 中使用 xUnit 的库 但我根本没有运气让测试运行 因此 我将其分解为最简单的重现步骤 有人知道我可能会错过什么吗 创建一个新的
  • 如何按需重新加载Ext.tree.TreePanel?

    我想创建 Ext tree TreePanel 组件并定期从外部 URl 加载内容 所以我写了类似的东西 new Ext tree TreePanel root nodeType async text asdasd draggable fa
  • 使用 C# 运行带有关键字 GO 的 .sql 语句?

    我有以下内容 USE TESTDB CREATE FUNCTION dbo Function1 input VARCHAR 250 RETURNS VARCHAR 250 AS BEGIN do work here END SET ANSI
  • Android应用程序更新问题

    最近我一直面临着我的Android应用程序更新过程的问题 简而言之 应用程序能够检查是否已将更高版本代码的更新上传到服务器上 如果是 用户决定是否更新 加载该应用程序并开始标准安装后 final Intent intent new Inte
  • Azure WebJob 的 BlobInput 和 BlobOutput 类在哪里?

    我正在创建一个 Azure WebJob 控制台应用程序 用于调整上传到 blob 存储的图像大小 当遵循任何在线代码示例时 我无法引用和使用 BlobInput 和 BlobOutput 输入参数属性 我正在使用 NuGet 包 Micr
  • rcpp 检查列表是否有元素

    我的程序涉及聚类 除了数据集之外 用户还必须指定一些有关集群的详细信息 有两种方法可以解决此问题 指定集群数量或准备集群描述列表 args lt list dataset points K 5 args lt list dataset po
  • 如何将值应用于 Clojure 中的多个函数?

    基本上 我需要做类似的事情map 但我不需要将函数应用于集合中的所有元素 而是需要将相同 一组 值应用于函数集合 此操作有名称吗 这可能看起来是一个简单的问题 但我还没有找到在 Clojure 中执行此操作的惯用方法 对于我需要仅对每个函数
  • 如何在 Node js 中使用 FCM 向多个 Android 设备发送消息?

    我尝试将消息发送到单个设备 即单个注册 ID 它工作正常 但当尝试添加多个注册 ID 时 它会给出 InvalidServerResponse 错误 例如适用于 regTokens regId1 但不适用于 regTokens regId1
  • 使用ajax上传图片和表单提交

    我想使用Ajax将图像上传到服务器 但是出现问题 请有人帮助我这里出了什么问题 我可以使用提交表单提交图像 但不能使用ajax 这是我的代码 html div Select a photo to upload div
  • 如何在字符串中四舍五入到小数点后两位? [复制]

    这个问题在这里已经有答案了 可能的重复 c 如何将小数值四舍五入到小数点后两位 用于页面上的输出 https stackoverflow com questions 164926 c sharp how do i round a decim
  • JQuery 和 GWT 历史记录支持混淆

    我使用 JQuery 动态附加 GWT 脚本 然后使用 JQuery 历史记录跟踪历史记录 Problem 我的 GWT 模块生成History令牌 因为我的所有 GWT 模块都是 MVP 模块 和onClick s of MenuItem
  • 检测大型数据集中重复/相似的文本?

    我有一个包含数千条记录的大型数据库 每次用户发布他的信息时 我都需要知道是否已经有相同 相似的记录 有没有算法或开源实现来解决这个问题 我们用的是中文 相似 的意思是记录内容最相同 可能80 100 是相同的 每条记录不会太大 大约2k 6
  • 如何通过詹金斯中的另一个管道作业构建并获取管道作业的构建日志

    我正在使用詹金斯管道 我可以通过命令构建并获取作业的构建日志 def itemA hudson model Hudson instance getItem FOLDER getJob JOB NAME A hudson model Huds
  • SQL Server:批处理语句(即使用“GO”)有什么用处?

    我知道在 SQL Server 中GO 被视为批次分隔符 https stackoverflow com questions 2299249 what is the use of go in sql server management st