我看过类似的帖子,但没有找到我的确切问题和答案。我要做的是使用来自变量的数据和来自 select 语句的数据更新表。
例如:
--THESE ARE THE VARIABLES I WANT TO USE IN INSERT
DECLARE @Key uniqueidentifier
DECLARE @Name varchar(200)
SET @Key = NEWID()
SET @Name = 'TestName'
--THIS IS A TEMP TABLE THAT I WANT TO SELECT FROM AND USE THE DATA FROM THERE AND INSERT
SELECT * FROM #TempData AS td
--THE INSERT STATEMENT
INSERT INTO MyTable(CustomerKey, Name, City, State)
VALUES(@Key, @Name, td.City, td.State)
现在对于SELECT
声明,我将使用变量作为列名,例如:
SELECT @City = City, @State = State FROM #TempData
但唯一的问题,或者说相当烦人的是,实际的临时表中很容易有 40 列。我真的不想声明 40 多个变量并将其分配给每一列。
关于如何做到这一点的任何想法?