आप column_from_table2
को अपडेट नहीं कर सकते हैं इस दृष्टि से, यह अद्यतन करने योग्य नहीं है।
यह जांचने के लिए कि कोई स्तंभ अद्यतन करने योग्य है या नहीं, यह क्वेरी चलाएँ:
SELECT * FROM USER_UPDATABLE_COLUMNS
WHERE table_name = 'MY_DATAVIEW';
OWNER TABLE_NAME COLUMN_NAME UPDATABLE INSERTABLE DELETABLE
------------------------------ ------------------------------ ------------------------------ --------- ---------- ---------
TEST MY_DATAVIEW KEY1 YES YES YES
TEST MY_DATAVIEW KEY2 YES YES YES
TEST MY_DATAVIEW COLUMN_FROM_TABLE1 YES YES YES
TEST MY_DATAVIEW COLUMN_FROM_TABLE2 NO NO NO
यह अद्यतन करने योग्य क्यों नहीं है? यह एक बड़ा सवाल है।
इस विषय पर दस्तावेज़ीकरण में एक पूरा अध्याय है:
http://docs.oracle.com/cd/B28359_01/server.111/b28310/views001.htm#i1006234
ढूंढें "अपडेटिंग व्यूज जिसमें आउटर जॉइन शामिल है", बाहरी जॉइन और विस्तृत विवरण के साथ एक व्यू का एक उदाहरण है, इस व्यू में कौन से कॉलम अपडेट किए जा सकते हैं और क्यों नहीं।