SQL SERVER(05 & 08)中有沒有可以將記錄從外部文件插入臨時表的方法?我根本沒有數據庫的特權。下面是我試圖做的:在SQL服務器中插入記錄到表中
CREATE table #temp
(KEY_ID INT)
INSERT INTO #temp
SELECT 90883000
冉#TEMP表結果:
KEY_ID
---------
90883000
它那種只用一個記錄工作。如果我有100條記錄,該怎麼辦?非常感謝!!!
SQL SERVER(05 & 08)中有沒有可以將記錄從外部文件插入臨時表的方法?我根本沒有數據庫的特權。下面是我試圖做的:在SQL服務器中插入記錄到表中
CREATE table #temp
(KEY_ID INT)
INSERT INTO #temp
SELECT 90883000
冉#TEMP表結果:
KEY_ID
---------
90883000
它那種只用一個記錄工作。如果我有100條記錄,該怎麼辦?非常感謝!!!
這只是爲了顯示如何在一個表中添加多行。
CREATE table #temp(
KEY_ID integer
)
Declare @i as int
set @i = 1
WHILE (@i <= 10000)
BEGIN
insert into #temp values(@i)
set @i += 1
End
如何表變量。我相信#temp需要tempdb數據庫的權限。我相信一個表變量就像任何其他基於會話的變量一樣使用。
要聲明一個表變量:
DECLARE @ProductTotals TABLE
(
ProductID int,
Revenue money
)
插入表變量:
INSERT INTO @ProductTotals (ProductID, Revenue)
SELECT ProductID, SUM(UnitPrice * Quantity)
FROM [Order Details]
GROUP BY ProductID
要導入的文件,你可以使用BULK IMPORT。使用它可以將數據存入臨時表,然後您可以運行基於集的操作。
插入大量行的更有效的方法。
INSERT INTO #temp
(KeyID)
SELECT TOP 1000 -- PUT YOUR QUANTITY HERE
IDENTITY(INT,1,1) AS N
FROM Master.dbo.SysColumns sc1,
Master.dbo.SysColumns sc2
如果你打算使用這個有很多,只是問他們創造你TALLY TABLE。
這就是我通常這樣做,如果我有一個文件中的值的地方。從平面文本文件中插入數百條記錄到臨時表中。我的例子只有一列,但只要平面文件以某種方式分隔,就可以根據需要做很多列。需要確保將文本文件放在您有權訪問的目錄中。
IF OBJECT_ID('tempdb..#TempTable') IS NOT NULL DROP TABLE #TempTable
CREATE TABLE #TempTable(Col1 varchar(10)) --Specify temp-table name & columns
BULK INSERT #TempTable
FROM 'C:\FileName.txt' --Specify file path/name
WITH (
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n'
);
GO
謝謝大家。我試圖導入temp的記錄來自數據庫之外。 – joe 2010-11-12 13:35:07