首页 > 数据库 >使用 GO 多次执行 TSQL 批处理

使用 GO 多次执行 TSQL 批处理

时间:2022-11-10 16:03:07浏览次数:37  
标签:INSERT dbo 批处理 INT ROWID GO TSQL

概述

作为DBA,在日常运维过程中,有时需要一遍又一遍地执行相同的命令或一组命令。这可能是插入或更新测试数据,也可能是在您的服务器上增加负载以进行性能测试。一种方法是设置一个 while 循环并一遍又一遍地执行代码,但还有另一种方法可以使用 GO 命令来完成。

解决方案

GO 关键字告诉 SQL Server 将前面的代码作为一批执行。在 SQL Server 中,您可以在 GO 命令后添加一个数字来告诉 SQL Server 执行批处理的次数。下面让我们看几个例子。

使用 GO 执行一个 SQL 批处理 X 次

假设您要创建一个测试表并加载 1000 条记录。您可以发出以下命令,它将运行相同的 INSERT 命令 1000 次:

CREATE TABLE dbo.TEST (ID INT IDENTITY (1,1), ROWID uniqueidentifier)
GO

INSERT INTO dbo.TEST (ROWID) VALUES (NEWID())
GO 1000

将 GO 与 SQL Server 批处理一起使用的另一个示例

这是另一个执行两个 INSERT 语句 100 次的示例。同时您可以向要运行的批处理添加更多语句(在本例中为两个插入),在 GO 命令之后指定 X 次。

CREATE TABLE dbo.TEST (ID INT IDENTITY (1,1), ROWID uniqueidentifier) 
CREATE TABLE dbo.TEST2 (ID INT IDENTITY (1,1), ROWID uniqueidentifier)
GO  

INSERT INTO dbo.TEST (ROWID) VALUES (NEWID())
INSERT INTO dbo.TEST2 (ROWID) VALUES (NEWID())
GO 100

使用循环一遍又一遍地运行批处理

要对循环执行类似的操作,您需要编写如下代码。这也没什么大不了,但写 GO 100 对我来说似乎更容易一些。

CREATE TABLE dbo.TEST ( ID INT IDENTITY ( 1 , 1 ), ROWID uniqueidentifier )
CREATE TABLE dbo.TEST2 ( ID INT IDENTITY ( 1 , 1 ), ROWID uniqueidentifier )
GO

DECLARE @counter INT

SET @counter = 0

WHILE @counter < 100
BEGIN
  INSERT INTO dbo.TEST ( ROWID )值(NEWID ())
  插入dbo.TEST2 ( ROWID )值( NEWID ())
   SET @counter = @counter + 1
END
 

标签:INSERT,dbo,批处理,INT,ROWID,GO,TSQL
From: https://www.cnblogs.com/lkj371/p/16877317.html

相关文章

  • Mongodb数据库和MySQL的比较
    谈谈Mongodb和MySQL的区别什么是Mongodb数据库Mongodb是一个介于关系数据库和非关系数据库之间的产品(Nosql),非关系型数据库(nosql),属于文档型数据库。文档是mongoDB......
  • Golang GRPC 添加header
    GolangGRPC添加header创建grpc连接时添加header使用自建的metadata添加的headr信息:key:my-headervalue:"test01"funcmain(){conn,err:=grpc.Dial("......
  • Go 微服务实战之如何实现加解密操作的微服务开发
    1前言在上一篇文章——《​​Go微服务实战之如何使用go-micro写微服务应用​​》中,我们介绍了微服务的相关概念和go-micro框架的特点。接下来,我们将以循序渐进的方式......
  • 09-Go语言的指针和结构体
    指针的声明funcmain(){ a:=10 varp1*int p1=&a //指针保存的地址 fmt.Println(p1) //指针本身的地址 fmt.Println(&p1) //指针指向保存的数据 fmt.Print......
  • golang - go文件编码
    必须为utf-8格式win系统一般默认CRLF模式但是如果在linux系统会不支持CRLF模式因此最好使用LF,两个环境都兼容,这样就不会头疼了,不然需要单独转一下 ......
  • 好用的在线客服系统Go语言源码-GOFLY ( 开源代码+安装教程)
    功能列表1.即时通讯2.访客链接3.公告信息4.欢迎信息5.离线信息5.单点登录6.浏览器通知7.邮箱通知搭建运行环境Linux环境逐句执行以下命令wgethttps:......
  • golang - win10 下载、安装、运行首个go文件
    1.下载运行环境官网地址https://golang.google.cn/dl/ 可以直接下载msi文件夹,双击后会自动安装环境,但作为一个程序员,但是,这种傻瓜式的安装容易带来风险,习惯性的喜......
  • Go 面试每天一篇(第 36 天)
    十一长假已经结束,收拾心情准备进入工作状态。一起来看下1.关于bool变量b的赋值,下面错误的用法是?A.b=trueB.b=1C.b=bool(1)D.b=(1==2)参考答案及解析:BC。......
  • Go 面试每天一篇(第 66 天)
    1.flag是bool型变量,下面if表达式符合编码规范的是?A.ifflag==1B.ifflagC.ifflag==falseD.if!flag参考答案及解析:BCD。2.下面的代码输出什么,请说明?1funcmai......
  • Go 面试每天一篇(第 53 天)
    你好哇,欢迎来答题,一起来看下1.下面的代码有什么问题?1typeXstruct{}23func(x*X)test(){4println(x)5}67funcmain(){89vara*X10a.test()111......