【发布时间】:2009-06-23 19:28:24
【问题描述】:
我正在开发一个执行一些动态 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 只是为了选择记录。
【问题讨论】:
-
不完全是重复的。另一个问题是关于性能的问题。我在问关键字语言差异
标签: sql sql-server tsql