得到了一个复杂的SELECT查询,从中我想将所有行插入到一个表变量,但T-SQL不允许它。
同样,不能在SELECT INTO或INSERT EXEC查询中使用表变量。
http://odetocode.com/Articles/365.aspx
短的例子:
declare @userData TABLE(
name varchar(30) NOT NULL,
oldlocation varchar(30) NOT NULL
)
SELECT name, location
INTO @userData
FROM myTable
INNER JOIN otherTable ON ...
WHERE age > 30
table变量中的数据稍后将用于将其插入/更新回不同的表中(大部分是相同数据的副本,只是进行了少量更新)。这样做的目的是使脚本比直接在正确的表中执行SELECT INTO更易于阅读和定制。
性能不是问题,因为行计数相当小,只有在需要时才手动运行。
...或者直接告诉我是不是我做错了
首先创建一个临时表:
步骤1:
create table #tblOm_Temp (
Name varchar(100),
Age Int ,
RollNumber bigint
)
**步骤2:**在Temp表中插入一些值。
insert into #tblom_temp values('Om Pandey',102,1347)
步骤3:声明一个表变量来保存临时表数据。
declare @tblOm_Variable table(
Name Varchar(100),
Age int,
RollNumber bigint
)
步骤4:从temp表中选择值并插入到表变量中。
insert into @tblOm_Variable select * from #tblom_temp
最后将值从临时表插入到table变量
步骤5:检查表变量中插入的值。
select * from @tblOm_Variable
首先创建一个临时表:
步骤1:
create table #tblOm_Temp (
Name varchar(100),
Age Int ,
RollNumber bigint
)
**步骤2:**在Temp表中插入一些值。
insert into #tblom_temp values('Om Pandey',102,1347)
步骤3:声明一个表变量来保存临时表数据。
declare @tblOm_Variable table(
Name Varchar(100),
Age int,
RollNumber bigint
)
步骤4:从temp表中选择值并插入到表变量中。
insert into @tblOm_Variable select * from #tblom_temp
最后将值从临时表插入到table变量
步骤5:检查表变量中插入的值。
select * from @tblOm_Variable