【发布时间】:2016-04-01 04:39:01
【问题描述】:
将表变量插入到具有多列(ID、编号等)的 TempTable 中
其中一个表变量是:
DECLARE @@gvTempTable TABLE (Number bigint, ID int)
insert into @@gvTempTable (Number) values ('21212321332332');
insert into @@gvTempTable (Number) values ('100000000000');
insert into @@gvTempTable (ID) values ('1');
insert into @@gvTempTable (ID) values ('12');
select * into ##GlobalTempTable from @@gvTempTable;
select * from ##GlobalTempTable;
我需要将 ID 和 Number 显示为没有 NULL 的一行
这会返回一种笛卡尔积:
[![Current vs Desired result set][1]][1]
【问题讨论】:
-
values ('21212321332332', 1), ('100000000000', 12) -
你需要详细描述一下,这里的逻辑是什么
-
这适用于少量记录。但没有大一号。我收到此消息:Msg 10738, Level 15, State 1, Line 1006 INSERT 语句中的行值表达式的数量超过了允许的最大行值数 1000。
-
要绕过它,我需要每千行重复一次 Insert Into @@gvTempTable(...)。
标签: sql sql-server global-variables global-temp-tables