删除sql 视图中的数据时,能否不删除基表的数据!

解决方案 »

  1.   

    要搞清楚概念,视图是不存数据的,它的数据全来自表
    既然它不存数据,要从它里面删除数据,当然会反应到它引用的表上面了.要么你在表上建个标志字段,修改视图,只显示指定标志的数据,并在视图上建DELETE触发器,修改对应表的标志字段
      

  2.   

    不要在视图上做删除操作
    可以用SQL语句删除某个关联表的记录
      

  3.   

    用5楼方法,也就是说不要用记录集的 Delete 方法实现数据删除操作,数据删除用SQL,记录集删除记录操作只用于通过数据感知控件刷新UI,实现以上方法,记录集的 LockType 要采用批量更新方式。
      

  4.   

    在delphi中如果想删除记录或者修改记录,SQL语句最好别用 [inner join]/[left outer join]/[right join]/[cross join]之类的东东,除非对其相当的熟练.
      

  5.   

    在delphi中弄不好 TDataSet.Delete 会把关连的[交易表]与[基本表]一并删.
    VB好像没这个问题.日期字段也很麻烦,动不动就提示数据被他们改了,最好用数字存日期.