我是初学者,你看可以这样吗?建一个触发器
create trigger trig_name
after create or drop on database 
begin
   update table_sum set sum := (select count(*) from user_tables);
end
大概就这意思,你看一下吧!!

解决方案 »

  1.   

    可以建立一个视图取代table_sum表:
          create or replace view view_sum as select count(*) from user_tables;
      

  2.   

    zcs_1(生生不息) 的方法不错
      

  3.   

    那请问zcs_1和bzszp:
       那建立的试图我在前台pb中以什么方式可以得到呢?
       谢谢!!!!
      

  4.   

    就跟对表的操作一样,直接select就可以了
      

  5.   

    因为我主要想在前台pb得到oracle后台数据库中表的数目,那可不可以直接在pb中得到数据库中表的数目呢?
    谢谢!!!!!
      

  6.   

    可以,
    select count(*) into :temp from user_tables;
      

  7.   

    to bzszp:你好!
       在建立试图时报错,错误信息为:
    ORA-00998: 必须使用列别名命名此表达式
    请问这是在什么地方出了问题啊?
    谢谢!!!!!!!!!!
      

  8.   

    create or replace view view_sum(totaltable) as select count(*) from user_tables;SQL> create or replace view view_sum(totaltable) as select count(*) from user_tables;视图已建立。实际:5908
    SQL> select * from view_sum;TOTALTABLE
    ----------
            14实际:851没问题了吧
      

  9.   

    to bzszp:你好!
       你真的厉害!!
       谢谢!!!!
      

  10.   

    to bzszp:你好!
        那我可不可以问你有关于pb方面通讯方面的问题呢?
      

  11.   

    to bszsp:
        那以后遇到oracle方面的问题,希望还能得到你的帮忙啊!!!!
      

  12.   

    搞定这个:
    http://www.csdn.net/expert/topic/1004/1004416.xml?temp=.9450647