当前位置:数据库 > 数据库管理> 正文

sql server go语句

时间:2015-10-24类别:数据库

sql server go语句

sql server go语句

SQL Server中go语句会将go之前的语句作为一个批处理执行,为了区分多个批处理而设的分隔符,代表一个批处理的结束。

一、SQL Server中go语句的用法

  •  
  • 
    Select 1
    Select 2
    Select 3
    GO
    
    			--这是一个批处理  Select 1 GO  --这是一个批处理   Select 2 GO --这是一个批处理 
  •  

    二、SQL Server中go语句使用注意事项

    1、GO 命令和 Transact-SQL 语句不能在同一行中.但在 GO 命令行中可包含注释

  • 
    Select 1
    GO
    --会正确输出结果,列名为”无列名”
    
    Select 1 GO
    
    --会正确输出结果,列名为”GO”
    --由此可知此处的GO并未起到应有的作用;
    
    
    		
  •  

    2、用户必须遵照使用批处理的规则.例如,在同一批处理中,创建数据库之后不能直接使用其新建的数据库

  • 
    create database [Roc]
    use [Roc]
    GO
    --运行此批处理后,系统会报错
    --把此批处理分成两个批即可正确运行
    
    
    create database [Roc]
    GO
    use [Roc]
    GO
    
    		
  •  

    3、局部(用户定义)变量的作用域限制在一个批处理中,不可在 GO 命令后引用

  •  
  • 
    declare @Roc varchar(max)
    Select @Roc = 'aking'
    GO
    print @Roc
    GO
    
    --此为两个批处理,由于局部变量的作用域要限制在一个批处理中,所以此语句错误
    --把这两个批合并为一个批即可正确运行
    
    declare @Roc varchar(max)
    Select @Roc = 'aking'
    print @Roc
    GO
    
    		
  •  

    4、每个被GO分隔的语句都是一个单独的事务,一个语句执行失败不会影响其它语句执行

  •  
  • 
    select * from sysobjects where id=a
    select getdate()
    
    --你会发现会报错,并且不会显示任何结果集
    
    
    select * from sysobjects where id=a
    go
    select getdate()
    go
    
    --你会发现尽管同样会报错,但结果集中包含select getdate()的结果。
    
    		

  • 5、GO [count] count 为正整数.指定GO 之前的批处理执行指定的次数

  •  
  • 
    insert [Roc] Select 'aking'
    GO
    --批处理执行1次,向表Roc中插入一行记录
    
    aking Insert [Roc] Select 'aking'
    GO 10
    --批处理执行10次,向表Roc中插入10行记录aking
    
    
    		
  •  

    标签:
    上一篇下一篇

    猜您喜欢

    热门推荐