Java 删除数据库里面数据的同时把这条数据添加到令一张表中
我现在有一个表messageReceived我想在这个表上做删除并且删除的同时把这条删除的数据添加到令一张表messageGarbage表中 那位大虾有写好的代码 帮帮我!!!
------解决方案--------------------触发器,数据库触发器,具体可以google哈
------解决方案--------------------建个触发器就可以了。
create or replace trigger tr_aaa
after delete on messageReceived
for each row
declare
begin
INSERT INTO messageGarbage(id, name) VALUES (:old.id, :old.name);
end tr_aaa;
------解决方案--------------------为什么不触发器呀,很简单的,数据库自己就会做这工作,还不容易出问题
------解决方案--------------------页面上只管删,写歌触发器以后数据库会自己帮你做保存的
------解决方案--------------------要是不会用,就是在DAO操作的时候,先取出来包装好成插入时候的Hibernate的对象,自己在后台操作中插入就好了吧,这样你熟悉SSH,应该就很简单了呀!
------解决方案--------------------create or replace trigger insert_dc_sell
after delete on ivr_call_client
for each row
declare
begin
insert into dc_sell(ID,phone,result,selltime,operation)
values(:NEW.ID,:NEW.calltel,:NEW.state,:NEW.registerdate,:NEW.operation);
end insert_dc_sell;
就是这个嘛,ivr_call_client这个是你要删除的表,
dc_sell(ID,phone,result,argo,selltime,operation)这个是要插入的垃圾留言表,括号里是字段;
:NEW.calltel等,这些是你之前删除的留言的字段;
这样就ok啦,你删除留言表的时候就会自动往垃圾表里查数据了,你可以删一个试试的
------解决方案--------------------删除动作,还是要你自己写代码。
这个触发器的作用是,当表1的记录被删除后,在表2中插入表1刚刚删除的记录。
自己搜一下数据库触发器,了解一下大概用途即可。
------解决方案--------------------after delete on ivr_call_client
错了,这个应该是
before delete on ivr_call_client
因为after 和:old对照; before 应该是:NEW
------解决方案--------------------create or replace trigger insert_dc_sell
before delete on messageReceived
for each row
declare
begin
insert into messageGarbage(id,name,email,title,time,content)
values(:NEW.id,:NEW.name,:NEW.email,:NEW.title,:NEW.time,:NEW.content);
end insert_dc_sell;