2016-12-15 71 views
0

我有一個視圖,可以從多個表中選擇和連接數據。 我在不同服務器上的多個數據庫中擁有相同的視圖。 (這是安裝在不同的服務器上的同一個應用程序的一部分)結合多個視圖的結果並添加標識符

我試圖做的是使用「導出數據」嚮導創建SSIS package,從這些視圖中的數據複製到一個單一的數據倉庫數據庫。

但是,由於我不能保證在視圖中不會有相同的行,因此我想在數據倉庫數據庫中添加一個ID列。但我似乎無法讓它工作。 通常,當您想添加自動增量ID時,只需將'NULL'插入該列。所以我已經爲選擇的視圖添加了一個'NULL'的值。並且我已將ID column添加到目標表,其中標識和自動遞增。

然而,當我運行數據導出嚮導,它給

錯誤「的值違反了該列的完整性約束。」

有沒有人有一個想法如何組合來自不同數據庫服務器上的不同視圖的數據,並在目標表中添加一個唯一的標識符?

乾杯,CJ

+1

您不能將空插入到ID列中,請嘗試從插入語句中排除列。它應該自動填充正確的增量。 – Anand

+0

你是對的。很簡單。我多麼愚蠢。恥辱我無法接受你的評論作爲答案。謝謝! –

回答

0

您不能插入NULL到主鍵。如果您將其添加爲自動增量,請勿將任何內容插入到ID列中。例如:

CREATE TABLE test_table 
(
ID int IDENTITY(1,1) PRIMARY KEY, 
test varchar(255) NOT NULL 
); 

INSERT INTO test_table(test) 
VALUES ('some value'); 

此記錄的ID將被設置爲1。