请大家帮忙写一下sql语句.
如果用jdbc操作数据库,怎么来删除相关联的主从表呢?
例如,部门表和员工表,如果删除一个部门,就应该删除改相应的员工,请大家写一下sql语句.

解决方案 »

  1.   

    级联删除啊,可以在数据库端设置级联删除,或者使用sql语句(前提是员工表中部门ID字段)
    delete from deployee where deptid='value'
    delete from dept where deptid='value';就可以了
      

  2.   

    解决1:
    按where传的值  执行2次删除。解决2:
    主外键表,设置级联删除。
      

  3.   

    怎么在数据段设置级联删除呢?
    请大家用mysql或者oracle举例.
      

  4.   

    建立Foreign   key   constraint的之后指定on   delete   cascade  
       
      alter   table   <table_name>   add   constraint   <constraint_name>   foreign   key   on   (<columns>)   references   <parent_table>(<columns>)    
      on   delete   cascade 
      

  5.   

    我在hibernate里设置了级联删除,如果用hibernate里的delete()方法,可以级联删除成功.但自己写的hql语句却删除失败,也没错误提示.
    String hql = "delete from Note where id=?";
    Query q = this.session.createQuery(hql);
    q.setInteger(0,id);
    q.executeUpdate();
    请大家给解释下.
      

  6.   

    把 配置文件发出来看看 主表.xml的<set>属性中配置发出来
      

  7.   

    要在主表配置文件中配置 级联的~~~<set>元素中~
      

  8.   

    <set name="renotes" inverse="true" cascade="all"> 
                <key> 
                    <column name="id" not-null="true" /> 
                </key> 
                <one-to-many class="com.longtop.struts.note.vo.Renote" /> 
    </set> <many-to-one name="note" class="com.longtop.struts.note.vo.Note" fetch="select"> 
                <column name="id" /> 
    </many-to-one>
      

  9.   

    我不知道你代码怎么写的,首先 你要把要关联删除的表实例加到主表实例中,
    session.delete("主表实例") 就可以关联删除了。你的配置文件没问题代码的事
      

  10.   

    我写的hql语句有问题么?
    delete from Note where id=?
      

  11.   

    不是,我这没有myEclipse插件,没法给你弄~~~~~本身你要在主表实例中 定义一个Set类型的 子表实例属性。
    然后 主表实例对象的 .add()(好似是这个方法)可以把 子表对象加进去。这样你删除主表信息 连带就把子表的信息删除了。
      

  12.   

    恩...结贴...
    模拟人生 你去开源、框架那个模块接分吧,我在那里也发了一个这样的同样的帖子“在hibernate用hql删除主从表失败 ”,也是刚发布的。
    呵呵...麻烦了...
      

  13.   

    JDBC的话,6楼说的有理。
    用hibernate我就不是太清楚了,没做过。学习一下