问个弱的问题
有个表A里面存一些Person信息,如果要往表B中添加数据,则需查询是否有该Person的信息,有则可以添加为防止以下情况有什么好一点的方法没?
如果查了表A中有某个Person信息,然在往表B中添加数据时,A中该Person信息被删,然后就郁闷了
数据库人家已经做好了,没法改的,问一下怎的操作,可以避免上面的情况
sql语句没学好呢,多多指教

解决方案 »

  1.   

    外键有个表A里面存一些Person信息,如果要往表B中添加数据,则需查询是否有该Person的信息,有则可以添加
    B表建外键和A的Person关联
      

  2.   

    如果你不能控制别人一定要删,那就只能在你插入B表的时候,再去看一下A表的数据是否存在(条件下的),
    有就INSERT 没有就跳过.
    或者在你开始插入前锁A表这条记录,不让别人删,等你INSERT 完成后再放开.
      

  3.   

    谢了,他数据库没有做,好像外键是要在建表的时候做的,我就一个小兵,没权限做的,有没有用sql语句可以做到的
      

  4.   

    或者在你开始插入前锁A表这条记录,不让别人删,等你INSERT 完成后再放开.不操作解锁,除了rollback有没有其他的,指点一下啊
      

  5.   

    以后可以建的,具体忘了
    ALTER TABLE [schema_name.]table_name DROP COLUMN column_name1[|column_name2] [CASCADE CONSTRAINT]1  粗体部分为关键字
    2 斜体部分为表名和列名,必填
    3 方括号里为可选项,在实际书写SQL的时候,是不加方括号的。
    不操作解锁,除了rollback有没有其他的,指点一下啊  
    还有commit.好象还有个