从一个表向另外一个表复制行
twn_ryjffa 表名
insert into twn_ryjffa (wk_year, getsure_unit_no…xjzbt)
select swk_year,
getsure_unit_no,
insure_vol,
insure_level,
insure_itype,
grjn,
zybt,
sjbt,
dsbt,
xjbt,
zyzbt,
sjzbt,
dszbt,
xjzbt
from twn_ryjffa
where wk_year = newyear and getsure_unit_no = sgetsure_unit_no;
因为是复制所以即全列,“(wk_year, getsure_unit_no…xjzbt)”是不用写的,为了大家更容易理解我才写的。
insert into twn_ryjffa 和 from twn_ryjffa 可以表名是自身复制。但并不是所以列值都一样,可以看见swk_year取代了复制过来的wk_year。
其实在前面 我还写了一条:newyear := swk_year - 1 然后后面条件中可以看见where wk_year = newyear 。 意思是:当翻年后,会有新的数据需要记录,但今年的数据是建立在以往的数据基础之上的,所以手动一项项填上去不科学,当然了,软件也是客户用来用的,让他们一个个添加更是打死也不愿意。
wk_year 指的是年份,swk_year指要添加的年份,newyear := swk_year – 1即把去年的年份表数据复制到今年的表中。但并是不全部复制,毕竟今年的的年份是新的,所以swk_year取代了wk_yea的位置。
当表复制后,就可以对新表进行有针对的修改了。