SQL 服务器执行关键字
SQL Server exec keyword
T-SQL中exec关键字的作用是什么?
我试过了
EXEC sp_rename 'mytable.foo', 'bar', 'column';
/* and */
sp_rename 'mytable.foo', 'bar', 'column';
这两个命令产生了看似相同的结果。
EXEC 关键字告诉 SQL 您想要 运行 一个存储过程、函数或字符串。
语法可以在这里找到:https://msdn.microsoft.com/en-us/library/ms188332.aspx
EXEC 对于使用 transact SQL 是必不可少的,当您想要动态构建 SQL 语句时。通常的做法是在临时变量字符串中构建一个 sql 语句,然后使用 EXECUTE 关键字来执行它。
即
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)
上面会执行下面的语句:
'使用数据库
从 Mytable'
插入 #NewTable SELECT Column1
GO是结束一批语句的命令。这可以用于多种原因,但我会在这里开始您的研究:https://msdn.microsoft.com/en-us/library/ms188037.aspx
如果 EXEC XXX
是批处理中的第一个语句,则使用 EXEC
是可选的,您可以直接调用 XXX
而无需使用 EXEC
。但是,如果 EXEC
不是批处理中的第一个语句,您应该指定 EXEC
以便调用 XXX
。然而,最佳做法是在任何情况下都使用它,因为它可以提高代码的可读性。
T-SQL中exec关键字的作用是什么?
我试过了
EXEC sp_rename 'mytable.foo', 'bar', 'column';
/* and */
sp_rename 'mytable.foo', 'bar', 'column';
这两个命令产生了看似相同的结果。
EXEC 关键字告诉 SQL 您想要 运行 一个存储过程、函数或字符串。 语法可以在这里找到:https://msdn.microsoft.com/en-us/library/ms188332.aspx
EXEC 对于使用 transact SQL 是必不可少的,当您想要动态构建 SQL 语句时。通常的做法是在临时变量字符串中构建一个 sql 语句,然后使用 EXECUTE 关键字来执行它。
即
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)
上面会执行下面的语句: '使用数据库 从 Mytable'
插入 #NewTable SELECT Column1GO是结束一批语句的命令。这可以用于多种原因,但我会在这里开始您的研究:https://msdn.microsoft.com/en-us/library/ms188037.aspx
如果 EXEC XXX
是批处理中的第一个语句,则使用 EXEC
是可选的,您可以直接调用 XXX
而无需使用 EXEC
。但是,如果 EXEC
不是批处理中的第一个语句,您应该指定 EXEC
以便调用 XXX
。然而,最佳做法是在任何情况下都使用它,因为它可以提高代码的可读性。