2
我成功地將表變量的值插入到新的(尚不存在的表)Temp表中。在插入少量行(例如10,000)時沒有問題,但是當插入到表變量中時,很多行(例如30,000)會引發錯誤「服務器耗盡內存和外部資源」 問題: 我將我的(60,000)表變量行分成小批量(例如10,000),認爲我可以將新數據插入到已經存在的Temp Table中,但是我收到以下錯誤消息:從表變量插入已經存在的Temp表
。已在數據庫中名爲 '##不是Temptable' 對象
我的代碼是:
USE MyDataBase;
Go
Declare @@TableVariable TABLE
(
[ID] bigint PRIMARY KEY,
[BLD_ID] int NOT NULL
-- 25 more columns
)
Insert Into @@TableVariable VALUES
(1,25),
(2,30)
-- 61,000 more rows
Select * Into #TempTable From @@TableVariable;
Select Count(*) From #TempTable;
下面是錯誤消息我得到
我的猜測是,這是對腳本的限制只使用@TableVariable。 –
記住@@表格存儲在內存中,所以如果你有一個消息「OutOfmemory」,也許你沒有足夠的內存。如果可以的話,我建議創建一個pyhiscal tempTable(沒有@@表),並檢查是否收到相同的消息。 – Beto
沒有創建任何權限...通過任何機會,您是否知道我是否可以將新數據添加到來自表變量源的現有TempTable中? – enigma6205