如何在sql数据库中的一张表里每增加一条记录就将该记录的其中一个值修改其他值不变重新再该表中插入?

如表A,有id,datetime,testno,name,report 5个字段(前面3个为联合主键),当我插入1,2012-12-07,t1,abcd,500的记录时自动在表中增加a1,2012-12-07,t1,abcd,500这样的记录,请问如何做到?触发器or存储过程都可以,谢谢!

这个用触发器处理比较好
你可以创建一个插入触发器,当插入数据时将id 自动更新为要修改的值
类别如下其中inserted为触发器中的临时表,其结构与原表一样,保存新插入或修改後的数据。
create trigger insert_a_tri on A after insert as
update A set A.id = 'A' + A.id from inserted b where A.id = b.id and a.datetime = b.datetime and a.testno = b.testno追问

兄弟,你这是直接修改,不上生成另一条记录,我要的是当我加入一条记录的时候自动生成另一条一样的记录,且该记录的id字段由id=1变为a1,也就是我插入id=‘1’的记录时我数据库里有id=‘1’和id=’a1‘两条记录

追答

那就直接改为插入就可以了
insert into A select 'a' + id,datetime,testno,name,report from inserted

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-08-05
增加记录:就是在原记录的基础上增加一些记录,新增加的记录和原记录都在。
修改记录:就是把原记录修改成新记录,原记录会被新增加的记录取代。
相似回答