Я работаю над хранимым процессом, который выполняет некоторые динамические 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 intead из SET . Я не знал, что ты мог сделать это. Может кто-нибудь объяснить мне разницу между 2? Я всегда думал, что SELECT просто для выбора записей.