MySQL5逆引き大全460の極意

ビュー/ストアドプロシージャ/ストアドファンクション/トリガ/イベントの極意 - Tips370 ビューに対してINSERT/UPDATE/DELETE命令を実行するには

登録タグ
SQL
Icon comment count 0
Icon stock count 0

10-1ビューTips370 ビューに対してINSERT/UPDATE/DELETE命令を実行するには

Level2

Pointビューはデフォルトで更新可能です

ビューは、通常のテーブルに対する場合と同様、ビューに対してINSERT/UPDATE/DELETE命令を実行することも可能です(更新可能なビュー)。ただし、ビューの定義内容によっては更新できない場合もあります。具体的には、以下のような要素が含まれている場合、ビューは更新できません。

  • 集計関数
  • DISTINCT句
  • GROUP BY/HAVING句
  • UNION/UNION ALL句
  • JOIN句
  • サブクエリ(取得列/WHERE句)
  • FROM句の更新不能ビュー

また、ビューを生成する際にCREATE VIEW命令でALGORITHM=TEMPTABLEオプションを指定した場合にも、ビューは更新不能となります。

ビューが更新可能であるかどうかは、情報スキーマ(information_schemaデータベース)のviewsテーブルからis_updatable列を参照することで確認が可能です。

また、ビューを生成する際にCREATE

出典情報

Medium

MySQL5逆引き大全460の極意

  • 著者: 山田 祥寛

コメント

    コメントはありません