通过sql视图将数据插入多个表

时间:2010-05-27 07:33:46

标签: sql mysql

有没有办法通过mysql中的视图将数据插入多个表?

2 个答案:

答案 0 :(得分:3)

MySQL参考手册说明了可更新视图:

  

某些视图可以更新。也就是说,您可以在UPDATEDELETEINSERT等语句中使用它们来更新基础表的内容。要使视图可更新,视图中的行与基础表中的行之间必须存在一对一关系。还有一些其他构造使视图不可更新。

     

可以为可更新视图提供WITH CHECK OPTION子句,以防止对行进行插入或更新,但select_statement中WHERE子句为真的行除外。 WITH CHECK OPTION子句在MySQL 5.0.2中实现。

您可以找到整篇文章here

答案 1 :(得分:1)

参见MySQL参考手册的this piece

  

有时候多表视图可以更新,   假设它可以使用MERGE算法进行处理。为了这   要工作,视图必须使用内连接(不是外连接或   联盟)。此外,视图定义中只能有一个表   已更新,因此SET子句必须只列出其中一列的列   视图中的表。甚至不允许使用UNION ALL的视图   虽然它们可能在理论上是可更新的,因为   实现使用临时表来处理它们。

     

对于多表可更新视图,INSERT可以在插入时工作   成一张桌子。不支持DELETE。

     

视图不支持INSERT DELAYED。