exec关键字在T-SQL中的作用是什么?
我试过了
EXEC sp_rename 'mytable.foo', 'bar', 'column';
/* and */
sp_rename 'mytable.foo', 'bar', 'column';
Run Code Online (Sandbox Code Playgroud)
这两个命令产生了看似相同的结果.
如果它EXEC XXX是批次中的第一个语句,则使用EXEC是可选的,您可以直接调用XXX而不使用EXEC.但如果EXEC不是批处理中的第一个语句,则应该指定EXEC以便调用XXX.但最佳做法是在任何情况下使用它,因为它可以提高代码的可读性.
小智 3
EXEC 关键字告诉 SQL 您要运行存储过程、函数或字符串。语法可以在这里找到:https://msdn.microsoft.com/en-us/library/ms188332.aspx
当您想要动态构建 SQL 语句时,EXEC 对于使用 Transact SQL 至关重要。常见的做法是在临时变量字符串中构建 sql 语句,然后使用 EXECUTE 关键字来执行它。
IE
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)
Run Code Online (Sandbox Code Playgroud)
上面将执行以下语句:'USE MyDB INSERT INTO #NewTable SELECT Column1 FROM Mytable'
对于GO来说,它是结束一批语句的命令。这可以出于多种原因使用,但我会在这里开始您的研究:https ://msdn.microsoft.com/en-us/library/ms188037.aspx