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

如表A,有id,datetime,testno,name,report5个字段(前面3个为联合主键),当我插入1,2012-12-07,t1,abcd,500的记录时自动... 如表A,有id,datetime,testno,name,report 5个字段(前面3个为联合主键),当我插入1,2012-12-07,t1,abcd,500的记录时自动在表中增加a1,2012-12-07,t1,abcd,500这样的记录,请问如何做到?触发器or存储过程都可以,谢谢! 展开
 我来答
baiynijecym
推荐于2017-10-04 · TA获得超过1841个赞
知道大有可为答主
回答量:1411
采纳率:66%
帮助的人:1159万
展开全部
这个用触发器处理比较好
你可以创建一个插入触发器,当插入数据时将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
御绿戎0EY
2017-08-05 · TA获得超过3.8万个赞
知道大有可为答主
回答量:2.7万
采纳率:38%
帮助的人:1296万
展开全部
增加记录:就是在原记录的基础上增加一些记录,新增加的记录和原记录都在。
修改记录:就是把原记录修改成新记录,原记录会被新增加的记录取代。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
majiaqing77
2012-12-07 · TA获得超过104个赞
知道答主
回答量:107
采纳率:0%
帮助的人:48.7万
展开全部
插入两边不就ok了?
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式