用jdbc怎么删除想关联的主从表 请大家帮忙写一下sql语句.如果用jdbc操作数据库,怎么来删除相关联的主从表呢?例如,部门表和员工表,如果删除一个部门,就应该删除改相应的员工,请大家写一下sql语句. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 级联删除啊,可以在数据库端设置级联删除,或者使用sql语句(前提是员工表中部门ID字段)delete from deployee where deptid='value'delete from dept where deptid='value';就可以了 解决1:按where传的值 执行2次删除。解决2:主外键表,设置级联删除。 怎么在数据段设置级联删除呢?请大家用mysql或者oracle举例. 建立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 我在hibernate里设置了级联删除,如果用hibernate里的delete()方法,可以级联删除成功.但自己写的hql语句却删除失败,也没错误提示.String hql = "delete from Note where id=?";Query q = this.session.createQuery(hql);q.setInteger(0,id);q.executeUpdate();请大家给解释下. 把 配置文件发出来看看 主表.xml的<set>属性中配置发出来 要在主表配置文件中配置 级联的~~~<set>元素中~ <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> 我不知道你代码怎么写的,首先 你要把要关联删除的表实例加到主表实例中,session.delete("主表实例") 就可以关联删除了。你的配置文件没问题代码的事 我写的hql语句有问题么?delete from Note where id=? 不是,我这没有myEclipse插件,没法给你弄~~~~~本身你要在主表实例中 定义一个Set类型的 子表实例属性。然后 主表实例对象的 .add()(好似是这个方法)可以把 子表对象加进去。这样你删除主表信息 连带就把子表的信息删除了。 恩...结贴...模拟人生 你去开源、框架那个模块接分吧,我在那里也发了一个这样的同样的帖子“在hibernate用hql删除主从表失败 ”,也是刚发布的。呵呵...麻烦了... JDBC的话,6楼说的有理。用hibernate我就不是太清楚了,没做过。学习一下 求助:判断字符串中的字符是单字节还是双字节 一个响应用户输出的小程序 有关public和程序名子的问题.java 这是个什么错误?菜鸟问题 怎么输出中文? 请问java程序的中文乱码问题怎么解决? 不知道如何,才能利用其他如smtp.sina.com服务器上的帐号收发邮件.谢谢. 该采用Java还是ASP 不知道用哪个了,JAVA真的是最好的吗? java中如何返回多个list 问resultSet 的问题 请教高手,出现异常!!!!!!!!!是哪里的问题呢???
delete from deployee where deptid='value'
delete from dept where deptid='value';就可以了
按where传的值 执行2次删除。解决2:
主外键表,设置级联删除。
请大家用mysql或者oracle举例.
alter table <table_name> add constraint <constraint_name> foreign key on (<columns>) references <parent_table>(<columns>)
on delete cascade
String hql = "delete from Note where id=?";
Query q = this.session.createQuery(hql);
q.setInteger(0,id);
q.executeUpdate();
请大家给解释下.
<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>
session.delete("主表实例") 就可以关联删除了。你的配置文件没问题代码的事
delete from Note where id=?
然后 主表实例对象的 .add()(好似是这个方法)可以把 子表对象加进去。这样你删除主表信息 连带就把子表的信息删除了。
模拟人生 你去开源、框架那个模块接分吧,我在那里也发了一个这样的同样的帖子“在hibernate用hql删除主从表失败 ”,也是刚发布的。
呵呵...麻烦了...
用hibernate我就不是太清楚了,没做过。学习一下