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

举报

相关文章推荐

SQL 中GO、EXEC、ON

1.GO: (1)作用:用信号通知 Microsoft® SQL Server™ 实用工具一批 Transact-SQL 语句的结束。 (2)语法:GO (3)注释:GO不是 Transact-...

golang中os/exec包用法

exec包执行外部命令,它将os.StartProcess进行包装使得它更容易映射到stdin和stdout,并且利用pipe连接i/o. func LookPath(file string) (s...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

ruby on rails go on

The default library for interacting with the database is called Active Record. Active Record comes w...

go on json

今天把有关json的基础知识都给大家共享了,不好意思 编辑本段格式应用   掌握了 JSON 格式之后,在 JavaScript 中使用它就很简单了。JSON 是 JavaScript 原生格...

Test Memory on go

package main import ( "container/list" "fmt" "net/http" "os" "runtime" "strconv" /...
  • peta
  • peta
  • 2013-11-11 23:01
  • 837

mssql:sp_executesql与exec(@sql)

sp_executesql 位于master库下的一个扩展存储过程。用于执行一段sql代码。 例子: declare @count int,@tableNamenvarchar(50),@SQLStr...

SQl 动态EXEC

1、EXEC命令的括号中只允许包含一个字符串变量,或者一个 字符串文本,或者字符串变量与字符串文本的串联。不能再括号中使用函数或CASE表达式,如下面尝试在括号中调用QUOTENAME函数以引用对象名...

fcntl的close-on-exec标志

每个文件描述符都有一个close-on-exec标志。默认情况下,这个标志最后一位被设置为 0。这个标志符的具体作用在于当开辟其他进程调用exec()族函数时,在调用exec函数之前为exec族函数释...

fork后的exec

由fork创建的新进程被称为子进程。子进程和父进程继续执行fork调用之后的指令,子进程是父进程的一个副本。例如,子进程获得父进程数据空间、堆和栈的副本。注意,这是子进程所拥有的副本。父子进程并不共享...

Copy On Write和fork、vfork(很容易理解的图解)

转自:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/20/2601655.html COW技术初窥:       在Linux程序中...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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