修改一个表的字段,出现错误。好像是因为这个字段被其他的视图引用了,所以不能删除。
有个办法:
drop view xxxx;
alter ...
create view xxx因为视图多,比较麻烦,有没有简便的办法??

解决方案 »

  1.   

    好象没有你所说的问题啊。贴出你的
    create table xxx
    create view xxxalter table xxx ... 语句,这样别人可以模拟你的问题。
      

  2.   

    我在sql-server和access中是没有问题的,在postgre中才有问题
    我的table view那 太多东西了
      

  3.   

    随便给个例子。这样别人可以做实验。 比如到现在才知道你的问题是在postgreSQL中,还以为是MySQl 问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧
      

  4.   

    alter table xxx alter column aaaa type text然后column aaaa被viwe引用了
      

  5.   

    alter table xxx modify aaaa text 
      

  6.   

    这句话 在postgre中有语法错误
      

  7.   

    在POSTGRESQL 8.4。2下测试,
    提示
    ERROR:  cannot alter type of a column used by a view or rule
    确实如此,似乎只有删除再重新建立
      

  8.   

    你可以先在view_column_usage中把和这个字段有关的VIEW都选出来。全部DROP VIEW掉,然后再重建。
      

  9.   

    行将VIEW备份出来,用
    \i somedir\\script2.sql
    导入VIEW,不过都比较麻烦