我正在编写一个存储过程,执行一些动态SQL语句。下面是我在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)
如果你注意到了,他们在使用SELECT关键字而不是SET。我不知道你可以这样做。有人能向我解释一下两者之间的区别吗?我一直认为SELECT只是用于选择记录。