如果是sql server可以这样!! create trigger kkk on tablename for delete as begin insert into table1 select * from deleted end 如过是oracle就要用new old和before 级的row出发器具体看看帮助和sql server一样
检查一下你的触发器,你没有定义成for each row,即每行触发,改一下应该就行了
to okey(okey), 插入biao2的id号是多少??
我不熟悉SQL SERVER,你去HELP查一下CREATE TRIGGER的语法吧。
???什么id 号? 是这样的,如果delete from biao where id in(1,2,3,4) 删除的id号是1和2,那么在biao2中插入的id号就是1和2 同样:1,2,3的话,就插1,2,3 2,4 。2,4
如果一次只删除一条记录,用触发器实现是没有问题的。 但当一次删除多条记录时,只会在biao2中插入最后删除的一条记录,因为for delete的触发器是在删除完成后执行,而此时deleted表中只保存了最后删除的那条记录,所以只插入一条记录到biao2. 你还是用存储过程实现吧。 CREATE PROCEDURE ProcName AS begin tran insert into biao2 select * from biao where id in(1,2,3,4) delete from biao where id in(1,2,3,4) end tran
Oracle中可以这么写: CREATE OR REPLACE TRIGGER mytrigger BEFORE DELETE ON mytable FOR EACH ROW AS.....这样的话每当一行被删除的时候,就执行一次trigger。 不知道sql server有没有类似的功能。
就算不用触发器也可以解决啊。begin --插入要删除的记录到biao2,如果表机构不一样,你要调整一下sql insert into biao2 select * from biao where id in (1,2,3,4); --删除记录 delete from biao where id in(1,2,3,4); end;
我的问题解决了,本想在后台解决的,哎,算了,本人不太熟悉数据库技术,所以。。麻烦各位了,在前台我把delete from biao where id in(1,2,3,4) 改为了delete from biao where id=id(i),让sql 一条一条的删就行了 以后小弟有什么麻烦事的话,望老大们多多指教了~ 谢谢各位~给分了!
create trigger kkk
on tablename
for delete
as
begin
insert into table1
select * from deleted
end
如过是oracle就要用new old和before 级的row出发器具体看看帮助和sql server一样
是这样的,如果delete from biao where id in(1,2,3,4)
删除的id号是1和2,那么在biao2中插入的id号就是1和2
同样:1,2,3的话,就插1,2,3
2,4 。2,4
但当一次删除多条记录时,只会在biao2中插入最后删除的一条记录,因为for delete的触发器是在删除完成后执行,而此时deleted表中只保存了最后删除的那条记录,所以只插入一条记录到biao2.
你还是用存储过程实现吧。
CREATE PROCEDURE ProcName
AS
begin tran
insert into biao2 select * from biao where id in(1,2,3,4)
delete from biao where id in(1,2,3,4)
end tran
CREATE OR REPLACE TRIGGER mytrigger
BEFORE DELETE
ON mytable
FOR EACH ROW
AS.....这样的话每当一行被删除的时候,就执行一次trigger。
不知道sql server有没有类似的功能。
--插入要删除的记录到biao2,如果表机构不一样,你要调整一下sql
insert into biao2
select *
from biao
where id in (1,2,3,4);
--删除记录
delete from biao where id in(1,2,3,4);
end;
改为了delete from biao where id=id(i),让sql 一条一条的删就行了
以后小弟有什么麻烦事的话,望老大们多多指教了~
谢谢各位~给分了!