Bạn không thể cập nhật column_from_table2
trong chế độ xem này, nó không thể cập nhật được.
Để kiểm tra xem một số cột có thể cập nhật được hay không, hãy chạy truy vấn sau:
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
Tại sao nó không thể cập nhật được? Đó là một câu hỏi lớn.
Có cả một chương trong tài liệu về chủ đề này:
http://docs.oracle.com/cd/B28359_01/server.111/b28310/views001.htm#i1006234
tìm "Cập nhật chế độ xem có liên kết bên ngoài", có một ví dụ về chế độ xem có liên kết bên ngoài và giải thích chi tiết cột nào trong chế độ xem này có thể và không thể cập nhật và tại sao.