2012-03-23 50 views
0

我想做一個同步工作 - 從視圖到不同的表。 我有一個數據庫視圖(從鏈接的服務器),我想做一個存儲過程,將數據庫視圖拆分成2個表。 的分貝視圖看起來像:存儲過程從視圖導入數據

  • PERSON_ID
  • person_type(=>是 '僱員' 或 '顧客')
  • 姓氏
  • 姓名
  • 電子郵件

中的表是'員工'和'顧客'。他們兩個都至少有'lastname','firstname'和'email'的屬性。 如果數據行已經存在於表格中,則會有更新,否則會進行插入。屬性'person_type'是決定我必須使用的女巫表。

我使用ms sql server 2008 r2。

任何人都可以幫我創建存儲過程嗎?或者給我一個提示?

在此先感謝

+3

有什麼你有這麼遠嗎? – 2012-03-23 10:52:16

回答

0

從你的描述我明白,你需要創建客戶和員工從數據庫視圖中的兩個表。

爲了使這個快速;創建一個ssis包並使用「Conditional Split」選項根據person_type列拆分表。並將其插入相應的表格中。

您可以保存這個包,並運行它,只要u需要或u可以把它作爲一個工作

+0

好的,我會試試看。謝謝 – user1288039 2012-03-23 12:09:19

1

創建2條MERGE語句,一個執行每個任務。

一個MERGE語句將插入/更新/刪除到Employee表中,另一個將對Customer表執行相同的操作。

例子:

MERGE YourCustomerTable TargetTable 
USING (SELECT * FROM YourView WHERE Column = 'Customer') SourceTable ON TargetTable.CustomerID = SourceTable.CustomerID 
WHEN MATCHED THEN UPDATE........... 
WHEN NOT MATCHED THEN INSERT (ColumnA, ColumnB) Values (SourceTable.ColumnA, SourceTable.ColumnB) 
相關問題