有表A,B,
A里面的字段
ID,nvarchar(9),主键(不是自增列)
SP,varchar(2),
F1,varchar(20),
F2,varchar(20),
F3,varchar(20),
F4,varchar(20), 编码
F5,datatime,
F6,numeric(16,2)
表B字段
ID,nvarchar(9),主键(不是自增列)
SP,varchar(2),
F1,varchar(20), 编码
F2,varchar(20),
F3,varchar(20),
F4,datatime,
F5,numeric(16,2)
表A的SP字段更新值为2时触发,检查当前更新行的F4编码是否在表B F1字段中存在,存在时更新表B,使得:
B_F2=A_F2,
B_F4=A_F5,
B_F5=A_F6,where B_F1=更新行A_F4
如果表A更新行的F4不存在表B中时,在B中插入一行,使得:
B_F2=A_F2,
B_F4=A_F5,
B_F5=A_F6,
B_F1=A_F4
这里用insert into select,但是ID列就不行了,A_ID不能直接等于B_ID,还有其他表的数据会生成到表B中。求大神。
字段类型,表都不能改。编码是字母加流水号
主键你可以自己编写一个动态编号规则,按照其他的编号规则生成,就比如原来是ABC这种头的,换成CBA这样也行,生成不一样就不会重复