sql >> Databáze >  >> RDS >> Oracle

Aktualizace zobrazení Join, aniž by došlo k chybě bez zachování klíče

Nemůžete aktualizovat column_from_table2 v tomto zobrazení není aktualizovatelný.
Chcete-li zkontrolovat, zda je některý sloupec aktualizovatelný nebo ne, spusťte tento dotaz:

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   

Proč to není aktualizovatelné? Je to velká otázka.
V dokumentaci k tomuto tématu je celá kapitola:
http://docs.oracle.com/cd/B28359_01/server.111/b28310/views001.htm#i1006234
najděte "Aktualizace pohledů, které zahrnují vnější spojení", je tam příklad pohledu s vnějším spojením a podrobné vysvětlení, které sloupce v tomto zobrazení lze a nelze aktualizovat a proč.



  1. Pole hostitelů databáze je prázdné. po nasazení projektu Laravel na AWS Elastic Beanstalk

  2. Gridview v aktuálním kontextu neexistuje

  3. Jaký je rozdíl mezi MySQL, MySQLi a PDO?

  4. Změňte obsah na základě rozevíracího výběru z databáze mysql