H hailen Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-12 #4 首先外部关键字的问题要注意,保证没有外部关键字指向! 其次,要先删除细档,然后再删除主档!
C ctx62 Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-12 #5 我想可以手工将子表的数据删除,只是麻烦一点,在删除主表的记录时作一个关联,程序 可以自动将与主表中记录相关的子表中的记录全部找出来,此时先将子表中所有与主表中 的记录相关的记录全部删除后再删除主表的记录。应该是这样,或者用触发器,不过我没 用过,各高手用过的请指教!!!
我想可以手工将子表的数据删除,只是麻烦一点,在删除主表的记录时作一个关联,程序 可以自动将与主表中记录相关的子表中的记录全部找出来,此时先将子表中所有与主表中 的记录相关的记录全部删除后再删除主表的记录。应该是这样,或者用触发器,不过我没 用过,各高手用过的请指教!!!
W wanfangme Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-12 #7 必须先删除子表的记录,再删主表,建议写 STOREPROCEDURE. 或先删除主表的外健,就可以删除记录;
浪 浪里白条 Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-12 #8 细表用Tquery连接 query.datasource:=table1//主表 query1.close; query1.sql.clear; qery1.sql.add('delete from 细表 where 细表.索引=:索引'); query1.execsql; table1.delete;
细表用Tquery连接 query.datasource:=table1//主表 query1.close; query1.sql.clear; qery1.sql.add('delete from 细表 where 细表.索引=:索引'); query1.execsql; table1.delete;
X xiaoywh Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-12 #10 你用的是什么库呢: 你在建主细表时就应该将其外键规则置为“Delete any Dependent rows( CASCADE)(附表依赖主表存活) ”模式,那么你可以根据你的要求删除主表内容其附表内容也将由库自动完成删除工作,不必 向前几位那样麻烦,该交给数据库完成的活何必要手工来完成呢??? 附外键存在规则有两种: 1:Disallow if Dependent Rows Exist(RESTRICT) (存在附表不能删除主表) 2:Delete any Dependent rows( CASCADE)(删除主表同时删除子表)
你用的是什么库呢: 你在建主细表时就应该将其外键规则置为“Delete any Dependent rows( CASCADE)(附表依赖主表存活) ”模式,那么你可以根据你的要求删除主表内容其附表内容也将由库自动完成删除工作,不必 向前几位那样麻烦,该交给数据库完成的活何必要手工来完成呢??? 附外键存在规则有两种: 1:Disallow if Dependent Rows Exist(RESTRICT) (存在附表不能删除主表) 2:Delete any Dependent rows( CASCADE)(删除主表同时删除子表)
L Laotian Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-12 #11 如果用三层,《Delphi5开发人员指南》配套光盘上有一个很好的解决办法!
萧 萧月禾 Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-12 #12 ?????啊?有这么麻烦吗? 我想: 1、开事务 2、先删除子表中与主表关联的全部记录 3、再删除主表的指定记录 4、提交事务 当中有一步失败了,全部操作都会回滚 也许我的理解有误,大家莫怪!