2017-10-10 95 views
1

我已經使這個SQL視圖結合一些表,它的工作原理,但它不可編輯(我不能插入,刪除,編輯)數據直接在它,但只有當我這樣做在初始表格中,是否有任何方法可以直接在視圖中執行相同的操作(編輯數據)?使SQL視圖可編輯

Create view table4 as 
Select table1.firstname, table1.lastname, table2.bodyweight, table3.bodyfat 
From table1 
LEFT JOIN table2 ON table1.table1_id = table2.table2_id; 
LEFT JOIN table3 ON table1.table1_id = table3.table3_id; 
+1

用你正在使用的數據庫標記你的問題。但我並不樂觀。 –

+1

您是否使用SQL Server? MySQL的?甲骨文? – STLDeveloper

+0

我使用xampp!所以我認爲這是SQL。 –

回答

1

在MySQL中,你不能更新有「LEFT JOIN」一個觀點,但是如果你可以將那些以「加盟」你應該確定。

Create view table4 as 
Select table1.firstname, table1.lastname, table2.bodyweight, table3.bodyfat 
From table1 
JOIN table2 ON table1.table1_id = table2.table2_id; 
JOIN table3 ON table1.table1_id = table3.table3_id; 

請參閱here以參考可更新視圖中允許的內容。

+0

非常感謝!這工作!不幸的是,我選擇左連接的原因是因爲某些列應該始終爲空,並且這不能用Join語句完成,因此我可以使用其他類似完全連接的東西嗎? –

+0

您可能需要更改上述問題,以包含您想要實現的更多細節。爲什麼一些列總是空的? –

+0

好的,因爲這個問題得到了回答,我不會改變它,因爲它可以用於其他人,但我要用可更新的視圖提出一個新的問題,保持null值與我的確切項目,讓你知道! –