一个复杂的人员管理系统,其中主表tbJbxx记载人员基本情况,客户端程序有不下50处有类似select * from tbJbxx,其中一个状态字段记载一种情况:在职、离岗、退休。现在程序已经开发完毕,突然客户提出要求,所有查询中,不要再体现退休人员的信息!!!
  系统中有很多复杂的统计sql语句,其搜索对象都是基于select * from tbJbxx的,如果在客户端程序中逐一where state<>'退休'或者是另建视图select * from tbJbxx where state<>'退休',真是累死人不说还可能乱套。
可否建一个与tbjbxx同名的视图呢?这样做会有什么问题?
  

解决方案 »

  1.   

    先把原表改表,然后视图里引有改名后的表,视图表用:tbJbxx
      

  2.   

    提示:
    数据库中已存在名为 'tbjbxx' 的对象。
      

  3.   

    先把原表改名,然后视图里引有改名后的表,视图表用:tbJbxx
      

  4.   

    把主表改名为tbMain,然后建一个视图tbjbxx会有什么问题吗?特别是主表的主键ryid被大约8个派生出作为外键而被引用。现在几千人员录入基本到位,真的是捏一把汗.
      

  5.   

    把跟这个表有关的信息先备份好:sp_depends 表名
      

  6.   

    delphi,全文替换?有点恐怖吧,而且有些是用在TADOQuery的sql属性中,替换不了
      

  7.   

    当从最基本的select * from aaa
    就知道可不可以同名了..
    项目中视图都是v_主表名子表名