2

我创建了一个表,并希望使用连接将数据从另一个表插入到该表中。我遇到的问题是表 2 很大,有数百万行,所以当我运行查询时,我总是收到一条错误消息“2646 no more spool space”。

这是我尝试使用的查询示例,我已经在表中创建了空列。

INSERT INTO database1.table1 (empty column)
SELECT desiredcolumn
FROM database2.table2
INNER JOIN database1.table1
on table1.column = table2.column

谢谢

4

2 回答 2

0

尝试手动冲洗它 1000 万乘以 1000 万拆分 ID


INSERT INTO database1.table1 (empty_column) SELECT desiredcolumn from database2.table2 INNER JOIN database1.table1 on table1.column = table2.column where table1.id <10 000 000 and table1.id > 0

然后启动它几次,直到你完成所有记录

学习表 1 为空后编辑 - 再次编辑:

update e_tbl 
set empty_column = desiredcolumn 
                    from   database2.table2 big_tbl
                    INNER JOIN database1.table1 e_tbl on e_tbl.column = 
                     big_tbl.column
                    where big_tbl.id <10 000 000
                     and big_tbl.id > 0
于 2019-02-07T15:42:44.807 回答
0

试试临时表。Teradata 还是 SQL Server?

SQL 服务器

SELECT desiredcolumn 
into #temp
from database2.table2 
INNER JOIN database1.table1 
on table1.column = table2.column;

INSERT INTO database1.table1 (empty column) 
SELECT desiredcolumn 
from #temp;

太极数据

Create volatile Table TempTable as (
    SELECT desiredcolumn 
    from database2.table2 
    INNER JOIN database1.table1 
    on table1.column = table2.column
) with data
on commit preserve rows;

INSERT INTO database1.table1 (empty column) 
SELECT desiredcolumn 
from TempTable;
于 2019-02-07T15:44:55.220 回答