SQL Server 2008实例:
USE MASTER;
GO
--进行条件查询
IF NOT EXISTS
(SELECT 'True'
FROM sys.databases
WHERE name='AdventureWorksCreate')
BEGIN
--创建数据库
CREATE DATABASE AdventureWorksCreate;
END
ELSE
BEGIN
--打印信息
PRINT 'Database already exists.Skipping CREATE DATABASE Statement';
--删除数据库
DROP DATABASE AdventureWorksCreate;
END
GO
/*
T-sql语句中GO的语法及用法:
1.语法:
是Transact-SQL 语句的批处理
如:
GO
Select 1
Select 2
Select 3
GO
2.用法:
1) SQL Server 实用工具将 GO 解释为应该向 SQL Server 实例发送当前批 Transact-SQL 语句的信号.
当前批语句由上一 GO 命令后输入的所有语句组成,如果是第一条 GO 命令,则由即席会话或脚本开始后
输入的所有语句组成.
2) GO 命令和 Transact-SQL 语句不能在同一行中.但在 GO 命令行中可包含注释.
3) 用户必须遵照使用批处理的规则.例如,在同一批处理中,创建数据库之后不能直接使用其新建的数据
库.局部(用户定义)变量的作用域限制在一个批处理中,不可在 GO 命令后引用.
4) 不同批处理是分开执行的,一个查询失败不会影响另外一个查询.
5) GO [count] count 为正整数.指定GO 之前的批处理执行指定的次数.
3.说明:
1) GO 不是 Transact-SQL 语句;
2) 它是 sqlcmd 和 osql 实用工具以及 SQL Server Management Studio 代码编辑器识别的命令.
3) SQL Server 应用程序可以将多个 Transact-SQL 语句作为一个批发送到 SQL Server 的实例来执行.
然后,该批中的语句被编译成一个执行计划.程序员在 SQL Server 实用工具中执行特殊语句,或生成
Transact-SQL 语句的脚本在 SQL Server 实用工具中运行时,使用 GO 作为批结束的信号.
4) 如果基于 ODBC 或 OLE DB API 的应用程序试图执行 GO 命令,会收到语法错误.SQL Server 实用工
具从不向服务器发送 GO 命令.
*/
来自(SQL Server 2008 入门经典第七章)