sql server

 

SQL脚本是一种用SQL语言写的批处理文件(.sql),SQL脚本通常可以由SQL查询分析器来执行。

=====================================================

GO向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号。go是把t-sql語句分批次執行。(一步成功了才会执行下一步,即一步一个GO)
   
  语法  
  GO  
   
  注释  
  GO   不是Transact-SQL语句;而是可为cmdsql和osql实用工具及SQL Server查询分析器识别的命令。  
   
  SQL Server实用工具将GO解释为应将当前的Transact-SQL批处理语句发送给SQL Server的信号。当前批处理语句是自上一GO命令后输入的所有语句,若是第一条GO命令,则是从特殊会话或脚本的开始处到这条GO命令之间的所有语句。   
  GO命令和Transact-SQL语句不可在同一行上。但在GO命令行中可包含注释。  
   
  用户必须遵照使用批处理(.sql)的规则。
例如,在批处理(.sql)中的第一条语句后执行任何存储过程必须包含EXECUTE关键字。
再有,局部(用户定义)变量的作用域限制在一个批处理中,不可在GO命令后引用。  
   
  USE pubs  
  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来标识批处理的结束。  
   
  如果基于DB-Library、ODBC或OLE DB APIs的应用程序试图执行GO命令时会收到语法错误。SQL Server实用工具永远不会向服务器发送GO命令。  
   
  权限  
  GO   是一个不需权限的实用工具命令。可以由任何用户执行。  
   
  示例  
  下面的示例创建两个批处理。第一个批处理只包含一条USE pubs语句,用于设置数据库上下文。剩下的语句使用了一个局部变量,因此所有的局部变量声明必须在一个批处理中。这一点可通过在最后一条引用此变量的语句之后才使用GO命令来做到。  
   
  USE pubs  
  GO  
  DECLARE @NmbrAuthors int  
  SELECT @NmbrAuthors = COUNT(*)  
  FROM authors  
  PRINT 'The number of authors as of' +  
        CAST(GETDATE()   AS   char(20)) + 'is' +  
        CAST(@NmbrAuthors   AS   char   (10))  
  GO  

=================================================
USE //改变当前操作数据库

用法:
USE 数据库名

例:
CREATE DATABASE XX1 --创建XX1数据库
………………
GO
CREATE DATABASE XX2 --创建XX2数据库
………………
GO
USE XX1 --转到XX1数据库
GO
………… --对XX1数据库的操作
GO
USE XX2 --转到XX2数据库
GO
………… --对XX2数据库的操作
GO


USE在存储过程中不能直接使用
但可以这样用:  
  create proc test  
  as  
  exec('use pubs select * from jobs')  --或者exec(use pubs) exec sp_adduser 'xxxx'
  go  

--使用Exec(ute)语句配合USE来改变当前数据库,但数据库环境的更改只在Execute语句结束前有效,所
以必须把后面的语句和Execute放到一起

exec test

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值