2011-10-03 35 views
0

我想創建一個ssis包,它從平面文件獲取值並將其插入數據庫表中,具體取決於companyname如何在SSIS中映射時檢查條件?

例如:

我有表中的字段:

Date  SecurityId SecurityType EntryPrice Price CompanyName 
2011-08-31 5033048  Bond   1.05  NULL ABC Corp 

現在我想插入Price到這個表,但我需要配合CompanyName 並在這也在文件CompanyName就像ABC所以我怎麼能檢查,並只插入特定的數據... 這樣我有20個記錄在我的文件與不同company names

我不喜歡在查找本enter image description here

我做enter image description here

,現在我的問題是,我需要從平面文件檢查的公司名稱,並插入公司的價格爲表,但在平面文件的公司名稱是給予像'AK STL'表中它就像'AK鋼鐵公司',所以這個我已經使用列轉換,但我寫什麼表達式找到匹配...與其他公司名稱相同只有1ft 2-3 charachters在那裏平面文件請幫助

回答

0

基本上,你正在尋找「Upser t「你的數據到數據庫中。 Here是一個簡單的查找upsert示例。由於您的數據集中的記錄數量很少,因此此方法就足夠了。有了更大的數據集,你可能要考慮使用臨時表,並使用類似這樣的SQL邏輯:

--Insert Portion 
INSERT INTO FinalTable 
(Colums) 
SELECT T.TempColumns 
FROM TempTable T 
WHERE 
(
    SELECT 'Bam' 
    FROM FinalTable F 
    WHERE F.Key(s) = T.Key(s) 
) IS NULL 

--Update Portion 
UPDATE FinalTable 
SET NonKeyColumn(s) = T.TempNonKeyColumn(s) 
FROM TempTable T 
WHERE FinalTable.Key(s) = T.Key(s) 
    AND CHECKSUM(FinalTable.NonKeyColumn(s)) <> CHECKSUM(T.NonKeyColumn(s)) 
+0

我可以有我在SSIS – Neo

+0

任何新的例子在我的崗位工作「這裏」是一個鏈接到網站: http://blogs.msdn.com/b/mattm/archive/2008/11/22/lookup-pattern-upsert.aspx 這是一個例子 –

+0

另一個sql upsert示例:http:// benchmarkitconsulting.com/colin-stasiuk/2009/02/27/merge-statement-upsert-with-working-example/ 下面是數據流任務中緩慢變化的維度組件示例:http://asqlguy.blogspot .COM/2008/10 /處理 - upserts - 使用 - 緩慢changing.html –