SQL 中GO、EXEC、ON

转载 2016年05月31日 22:20:03

1.GO:

(1)作用:用信号通知 Microsoft® SQL Server™ 实用工具一批 Transact-SQL 语句的结束。
(2)语法:GO
(3)注释:GO不是 Transact-SQL 语句;而是可为 osql 和 isql 实用工具及 SQL Server 查询分析器识别的命令。
SQL Server 实用工具将 GO 解释为应将当前的 Transact-SQL 批处理语句发送给 SQL Server 的信号。当前批处理语句是自上一 GO 命令后输入的所有语句,若是第一条 GO 命令,则是从特殊会话或脚本的开始处到这条 GO 命令之间的所有语句。SQL 查询分析器和 osql 及 isql 命令提示实用工具执行 GO 命令的方式不同。有关更多信息,请参见 osql 实用工具、isql 实用工具和 SQL 查询分析器。 
GO 命令和Transact-SQL 语句不可在同一行上。但在 GO 命令行中可包含注释。
用户必须遵照使用批处理的规则。例如,在批处理中的第一条语句后执行任何存储过程必须包含 EXECUTE 关键字。局部(用户定义)变量的作用域限制在一个批处理中,不可在 GO 命令后引用。
GO 是一个不需权限的实用工具命令。可以由任何用户执行。
(4)示例:下面的示例创建两个批处理。第一个批处理只包含一条 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

2.EXECUTE

(1)作用:执行标量值的用户定义函数、系统过程、用户定义存储过程或扩展存储过程。同时支持 Transact-SQL 批处理内的字符串的执行,exec 就是execute的缩写。 
(2)语法:若要唤醒调用函数,请使用 EXECUTE stored_procedure 中描述的。
执行存储过程:
[ [ EXEC [ UTE ] ]
    { 
        [ @return_status = ]
            { procedure_name [ ;number ] | @procedure_name_var
    } 
    [ [ @parameter = ] { value | @variable [ OUTPUT ] | [ DEFAULT ] ]
        [ ,...n ] 
[ WITH RECOMPILE ] 
执行字符串:
EXEC [ UTE ] ( { @string_variable | [ N ] 'tsql_string' } [ + ...n ] )
(3)权限:存储过程的 EXECUTE 权限默认给该存储过程的所有者,该所有者可以将此权限转让给其他用户。当遇到 EXECUTE 语句时,即使 EXECUTE 语句是在存储过程中,也会检查在 EXECUTE 字符串内使用该语句的权限。当运行一个执行字符串的存储过程时,系统会在执行该过程的用户环境中,而不是在创建该过程的用户环境中检查权限。但是,如果某用户拥有两个存储过程,并且第一个过程调用第二个过程,则在第二个过程中不进行 EXECUTE 权限检查。
(4)示例:使用 EXECUTE 传递单个参数
showind 存储过程需要参数 (@tabname),它是一个表的名称。下面这个例子执行 showind 存储过程,以 titles 为参数值。
EXEC showind titles

3.ON

(1)作用:用来指定存储表的文件组。
(2)语法:在create table的语法中有这样一句可选语法项目:
[ on { filegroup | default } ]
(3)注意:
如果指定 filegroup,则表将存储在指定的文件组中。数据库中必须存在该文件组。如果指定 default,或者根本未指定 on 参数,则表存储在默认文件组中。
(default 并不是关键字。default 是默认文件组的标识符并需对其进行定界,如 on "default"、on [default]。)

on [primary]是表示表是建立在主文件组上。primary表示主文件组。如果没有指定默认文件组,则主文件组是默认文件组,on [primary]也可以省略掉了。

4.参考:

http://blog.sina.com.cn/s/blog_69e6c0030101agjg.html

golang 基于go-sql-driver的增删改查的简单封装

mysql> desc test; +-------+---------+------+-----+---------+----------------+ | Field | Type | Nu...
  • u014798316
  • u014798316
  • 2014年08月12日 17:07
  • 1851

记golang数据库查询封装的坑

前文 golang接触也有一段时间,项目中有用到web api,基本上就是post json格式的,本想用java来写,刚下手想到java太臃肿,各种繁琐。 觉得用golang小试一把,于是gith...
  • liuwenhan999
  • liuwenhan999
  • 2015年06月11日 12:41
  • 5298

golang使用execCommand调用的时候子进程如何杀掉处理方法

当执行的时候调用此方法设置进程组 SetPgid 杀的时候使用KILLALL即可杀掉全部子进程. 代码实现: Linux处理方法: package system import ( "sys...
  • fyxichen
  • fyxichen
  • 2016年07月08日 08:19
  • 2811

使用FD_CLOEXEC实现close-on-exec,关闭子进程无用文件描述符

http://blog.csdn.net/chrisniu1984/article/details/7050663 我们经常会碰到需要fork子进程的情况,而且子进程很可能会继续ex...
  • zxygww
  • zxygww
  • 2016年10月24日 13:11
  • 423

linux系统端口占用和close-on-exec机制

一直以来,在处理linux服务器的过程中,经常会遇到一个问题,有时候kill掉进程之后,端口被占用,新的进程一直起不来,等待很久也不能启动新进程,总是提示端口被占用,只有重启机器才能恢复正常,这个简直...
  • qq100440110
  • qq100440110
  • 2016年07月30日 12:00
  • 530

使用FD_CLOEXEC实现close-on-exec,关闭子进程无用文件描述符

通过fcntl设置FD_CLOEXEC标志有什么用?    close on exec, not on-fork, 意为如果对描述符设置了FD_CLOEXEC,使用execl执行的程序里,此描述...
  • hunanchenxingyu
  • hunanchenxingyu
  • 2014年05月07日 01:08
  • 3491

Ruby on Rails Tutorial第三章关于$ bundle exec respec 出错的问题的解决方案

Ruby on Rails Tutorial第三章关于bundle exec respec 版本的debug     Ruby on Rails Tutorial 教程中--第三章的第一个测试 最后...
  • u012243368
  • u012243368
  • 2014年07月09日 13:49
  • 622

close_on_exec详解

下面是我看到的一片博客,转载过来的,给自己一个笔记. http://blog.csdn.net/justmeloo/article/details/40184039无论是fork还是system()...
  • baixiaoshi
  • baixiaoshi
  • 2016年10月14日 22:49
  • 458

使用FD_CLOEXEC实现close-on-exec,关闭子进程无用文件描述符

我们经常会碰到需要fork子进程的情况,而且子进程很可能会继续exec新的程序。这就不得不提到子进程中无用文件描述符的问题! fork函数的使用本不是这里讨论的话题,但必须提一下的是...
  • u012317833
  • u012317833
  • 2014年12月21日 21:41
  • 590

fcntl的close-on-exec标志

每个文件描述符都有一个close-on-exec标志。默认情况下,这个标志最后一位被设置为 0。这个标志符的具体作用在于当开辟其他进程调用exec()族函数时,在调用exec函数之前为exec族函数释...
  • summerhust
  • summerhust
  • 2011年10月09日 20:27
  • 669
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL 中GO、EXEC、ON
举报原因:
原因补充:

(最多只允许输入30个字)