小编典典

T-SQL中的SELECT和SET有什么区别

sql

我正在执行执行一些动态sql的存储的proc。这是我在4GuysFromRolla.com上找到的示例

CREATE PROCEDURE MyProc
  (@TableName varchar(255),
   @FirstName varchar(50),
   @LastName varchar(50))
AS

    -- Create a variable @SQLStatement
    DECLARE @SQLStatement varchar(255)

    -- Enter the dynamic SQL statement into the
    -- variable @SQLStatement
    SELECT @SQLStatement = "SELECT * FROM " +
                   @TableName + "WHERE FirstName = '"
                   + @FirstName + "' AND LastName = '"
                   + @LastName + "'"

    -- Execute the SQL statement
    EXEC(@SQLStatement)

如果您注意到,他们使用 SET* 的关键字 SELECT intead 。我不知道你能做到这一点。有人可以向我解释两者之间的区别吗?我一直认为
SELECT 只是用于选择记录。
***


阅读 190

收藏
2021-04-22

共1个答案

小编典典

SELECT是ANSI,SET @LocalVar是MS T-SQL

SELECT允许多个分配者:例如SELECT @foo = 1,@ bar = 2

2021-04-22