首页
学习
活动
专区
圈层
工具
发布

关键字
EN

Stack Overflow用户
提问于 2016-05-19 14:48:31
回答 2查看 5.2K关注 0票数 4

exec关键字在T中的作用是什么?

我试过了

代码语言:javascript
复制
EXEC sp_rename 'mytable.foo', 'bar', 'column';
/* and */
sp_rename 'mytable.foo', 'bar', 'column';

这两个命令产生的结果似乎是相同的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-19 15:15:27

EXEC关键字告诉SQL要运行存储过程、函数或字符串。语法可以在这里找到:https://msdn.microsoft.com/en-us/library/ms188332.aspx

当您想动态构建SQL语句时,EXEC对于使用transact SQL是必不可少的。通常的做法是在一个临时变量字符串中构建一个sql语句,然后使用EXECUTE关键字来执行它。

代码语言:javascript
复制
DECLARE @SQL varchar(MAX)

DECLARE @DynamicColumnName varchar(20)

DECLARE @SomeDatabase varchar(20)

SELECT @DynamicColumnName =  'Column1'

SELECT @SomeDatabase = 'MyDB'

SELECT @SQL = 'USE ' +@SomeDatabase +
' INSERT INTO #NewTable
  SELECT '+@DyanmicColumnName + 
  ' FROM Mytable'

EXEC (@SQL)

上面的语句将执行以下语句:“使用MyDB插入#NewTable从Mytable中选择Column1”

至于GO,它是一个命令来结束一批语句。这可以用于多种原因,但我将在这里开始您的研究:https://msdn.microsoft.com/en-us/library/ms188037.aspx

票数 3
EN

Stack Overflow用户

发布于 2016-05-19 21:58:41

如果EXEC XXX是批处理中的第一个语句,那么使用EXEC是可选的,您可以直接调用XXX而不使用EXEC。但是,如果EXEC不是批处理中的第一个语句,则应该指定EXEC以调用XXX。然而,最佳实践是在任何情况下使用它,因为它可以增加代码的可读性。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37326802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档