What is the difference between SELECT and SET in T-SQL
sql, sql-server, t-sql
Solution
SELECT is ANSI, SET @LocalVar is MS T-SQL
SELECT allows multiple assignents: eg SELECT @foo = 1, @bar = 2
Problem
I'm working on a stored proc that executes some dynamic sql. Here's the example I found on 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) ``` If you notice, they are using the keyword SELECT intead of SET. I didn't know you could do this. Can someone explain to me the differences between the 2? I always thought SELECT was simply for selecting records.