oracle中的视图可以使用insert命令吗?

2024-11-06 14:28:34
推荐回答(3个)
回答1:

你的视图跨表了

假如你的视图是 create view abcv as select * from abc
那么是可以插入的。

因为你 insert into abcv values (1, 'fdsf') , Oracle 知道,直接去插入 abc 表就可以了。

但是你的视图是 create view abcv as select * from abc,abc2
跨表, 还没有关联条件。

假如 insert into abcv values (1, 'fdsf',2), 让你往 abc 表插入1条记录, abc2 也插入一条记录
那么结果就乱了。

Oracle 不知道怎么处理,因此就只好抱错了。

回答2:

视图只能用来查找,不能用于新增,修改删除

回答3:

这个问题我虽然不会,但是给你找到了一个参考,可能与主键有关
http://blog.csdn.net/tanpingpingiloveyou/archive/2010/07/21/5752071.aspx