sql >> データベース >  >> RDS >> Oracle

キー保存されていないエラーが発生せずに結合ビューを更新する

    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
    「外部結合を含むビューの更新」を見つけると、外部結合を含むビューの例と、このビューのどの列を更新できるか、または更新できないか、およびその理由の詳細な説明があります。



    1. 私の基準に合わないユーザーも含め、すべてのユーザーを返す

    2. SQLServerでCASEWHEN内の複数の列を選択するにはどうすればよいですか?

    3. MariaDBでCOLLATION()がどのように機能するか

    4. 'MySQLの日付/時刻の値をSystem.DateTimeに変換できません'日付を使用しない場合-C#.Net