2016-03-03 46 views
0

我是新來的sql數據庫。如果我沒有解釋清楚,請原諒我。這裏是。從ms sql數據庫中存在的視圖更新表

我有我的數據庫中的視圖與下面的列和數據

firstName, lastName, employee_id 
Ria, Khanna, 15 
Paul, Dcosta, 16 
Raven, Sleeaz, 25 

我想從這個視圖中創建一個表,並添加更多的列。數據應該是這樣的。

firstName, lastName, employee_id, location, roles 
Ria, Khanna, 15,delhi,admin 
Paul, Dcosta, 16, new york, developer 
Raven, Sleeaz, 25, portland, HR 

正如你所看到的,它需要查看和更新​​表格。我想要從視圖中取得firstName,lastName和employee_id,我將自己更新位置和角色。

編輯

可以請你也突出瞭如何添加視圖表,而不會影響位置和角色已創建的值。 @rgassvar提供的答案將始終將空值置於位置和角色。並且以前添加的值將會丟失。對?

+0

是否使用的是DBMS? mysql <> sql服務器。 –

+0

不管數據庫中你描述的是什麼都沒有意義。一個視圖只是一個存儲的select語句。你想要有一個值表,這不會自動更新或什麼東西。爲什麼不把這兩個新列添加到您的視圖? –

+0

@ SeanLange-由於這些列來自不同的數據庫,所以創建了視圖。我從那裏得到3列,並把我自己的專欄。這將創建一個我想要我的項目的表。 – Neeva

回答

0

從視圖中獲取所有內容,然後將兩列添加爲空。

SELECT *, null as location, null as roles 
INTO new_table 
FROM the_view 

然後,只要更新每個角色的位置和角色字段,只要您認爲合適。

編輯: 創立初期,你可以做後:

INSERT INTO new_table 
SELECT *, null as location, null as roles 
FROM the_view 

INSERT INTO new_table (firstName, lastName, employee_id) 
SELECT * 
FROM the_view 
+0

謝謝@rgvassar。這將用於第一個表格的創建。對 ?假設,我更新了表格,並再次希望將視圖列添加到表格中,而不會影響我放入的位置和角色值。 – Neeva

+0

您還可以強調如何在不影響已創建的位置值的情況下向表格添加視圖和角色。上面的一個將繼續將空值賦予位置和角色。並且以前添加的值將會丟失。對 ? – Neeva

+0

如果已經有一個表,第一個示例將失敗。我添加了兩個更多示例的編輯將只添加新行。這兩個新字段當然必須是可空的,並且如果它們不存在,則必須添加一個「ALTER TABLE」語句。 – rgvassar

相關問題