Sql server 2008 r2 使用SELECT语句返回的数据插入新行
我看过类似的帖子,但没有找到我的确切问题和答案。我要做的是用变量中的数据和select语句中的数据更新表 例如:Sql server 2008 r2 使用SELECT语句返回的数据插入新行,sql-server-2008-r2,insert-into,Sql Server 2008 R2,Insert Into,我看过类似的帖子,但没有找到我的确切问题和答案。我要做的是用变量中的数据和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 SEL
--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
但唯一的问题,或者说更令人恼火的是,实际的temp表中很容易有40列。我真的不想声明40多个变量并将其分配给每一列
有没有想过如何做到这一点?简单地做一下怎么样
INSERT INTO MyTable(CustomerKey, Name, City, State)
SELECT @Key, @Name, City, State FROM #TempData
WHERE ....
基本上,您可以对TempData中任意数量的列进行扩展,而不必为其声明变量。简单地做一下怎么样
INSERT INTO MyTable(CustomerKey, Name, City, State)
SELECT @Key, @Name, City, State FROM #TempData
WHERE ....
基本上,您可以将其扩展到TempData中任意数量的列,而不必为其声明变量。Scott感谢您抽出时间回复,并对响应延迟表示歉意。最后我做了一些和你贴的很相似的事情。再次感谢您的回答。Scott感谢您抽出时间回复,并对延迟回复表示歉意。最后我做了一些和你贴的很相似的事情。再次感谢你的回答。