SQL Server 查询分析器中的GO 是成对使用还是单独使用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server 查询分析器中的GO 是成对使用还是单独使用?相关的知识,希望对你有一定的参考价值。

是两个GO中之间的部分算是批处理 还是一个GO之前的算是批处理

GO 可以单独使用,作为批处理的结束。
如果是多段批处理,就是相邻两个GO 之间为一个批处理。
可以通俗理解为,如果GO之上的语句执行出错的情况下,继续向下执行。
参考技术A GO
向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号。

例子1:
USE AdventureWorks;
GO
DECLARE @MyMsg VARCHAR(50)
SELECT @MyMsg = 'Hello, World.'
GO -- @MyMsg is not valid after this GO ends the batch.

-- Yields an error because @MyMsg not declared in this batch.
PRINT @MyMsg
GO

SELECT @@VERSION;
-- Yields an error: Must be EXEC sp_who if not first statement in
-- batch.
sp_who
GO

SQL Server 应用程序可以将多个 Transact-SQL 语句作为一个批发送到 SQL Server 的实例来执行。然后,该批中的语句被编译成一个执行计划。程序员在 SQL Server 实用工具中执行特殊语句,或生成 Transact-SQL 语句的脚本在 SQL Server 实用工具中运行时,使用 GO 作为批结束的信号。

例子2
USE AdventureWorks;
GO
DECLARE @NmbrContacts int
SELECT @NmbrContacts = COUNT(*)
FROM Person.Contact
PRINT 'The number of contacts as of ' +
CAST(GETDATE() AS char(20)) + ' is ' +
CAST(@NmbrContacts AS char (10))
GO本回答被提问者采纳
参考技术B 一个GO之前的算是批处理 参考技术C 查询分析器是sql
server
2000以及之前版本使用的客户端工具,从2005开始都使用sql
server
management
studio。

一个数组中只有俩个数出现了一次,其他都是成对出现的

#include <stdio.h>
#include<stdlib.h>


int find_one_bit(int num)    //约定寻找二进制中的某一位为1的位
{
int bit = 0;
while (num)
{
if (num & 1 == 1)
return bit;
bit++;
num = num >> 1;
}
return -1;
}


void find_num(int arr[], int size, int *p1, int *p2)
{
int tmp = 0;
int i = 0;
int pos = 0;
for (i = 0; i < size; i++)
{
tmp ^= arr[i];    //tmp保存的最终结果为不同的两个数字异或的结果
}
pos = find_one_bit(tmp);
for (i = 0; i < size; i++)
{
if (1 & (arr[i] >> pos))  //约定二进制位中同一位置是否为1,用以分组数字,因为某一位为1时,由异或的结果可知必定一个数字该位为0,另一个为1。0(0==*p1)与任何数字异或仍为该数本身。 
*p1 ^= arr[i];
else
*p2 ^= arr[i];
}
}

//主函数
int main()
{
int arr[] = {1,2,3,4,5,1,2,6,3,4};
int size = sizeof(arr) / sizeof(arr[0]);
int num1 = 0;
int num2 = 0;
find_num(arr, size, &num1, &num2);  //num1,num2必须传进地址,否则只是修改了形参而并不影响主函数的值,num1,num2仍为初始化的0。
printf("%d %d\n", num1, num2);
system("pause");
return 0;
}


以上是关于SQL Server 查询分析器中的GO 是成对使用还是单独使用?的主要内容,如果未能解决你的问题,请参考以下文章

关于sql 中 use go 的具体用法

SQL Server:如何在查询分析器中中止一系列批处理?

Go map

一个数组中只有俩个数出现了一次,其他都是成对出现的

使用go-mysql-server 开发自己的mysql server

JS--------SQL Server问题错误解决意外的终止输入Uncaught SyntaxError: Unexpected end of input解决办法