数据库版本是10g,遇到一个问题,走视图往TBALE里面插入数据的时候,插入总是不完整
如:
--TRUNCATE TABLE A;
 insert into A
 select * from V
 COMMIT;
这样插入A表的数据总是比直接select V的数据少,最近遇到这种情况很多,很奇怪,求高人解释,谢谢!

解决方案 »

  1.   

    当视图依赖于多个基本表时不能向该视图中insert、delete数据。
    接分中............
      

  2.   

    再小补充一下,希望lz能用到,
    通过更新视图数据修改基本表数据的视图是有条件的:
    1、没有使用连接函数、集合运算函数、组函数。
    2、创建视图的SELECT语句中没有集合函数且没有GROUP BY,DISTICT关键字。
    3、创建视图的SELECT语句中不包含从基表列通过计算所得的列。
    4、创建视图没有包含只读属性。
      

  3.   

    select * from V 改成你建视图的sql语句看下
    insert into A  select......  
      

  4.   

    同意!LZ是不是在A表上用触发器作了限制!!!
      

  5.   

    恩,确实会,我用Oracle10g也会这样,总是缺几条的后来改成
    每天更新时候都是
    drop table A;
    create table A AS
    SELECT * from V ;就不会了
      

  6.   

    回楼上的,可能吧,这两天让过程自己跑,里面是drop的,上周因为要补数据,手动truncate掉了,这算什么破毛病啊......
    回9楼,试过了,没用。
    回7/10楼,100%没触发器,这个第一个检查