1
检索大于日期大于15号的数据获得2和5记录
2
对记录2的其他主键为10,10,10,1000,101 。再与TKY_STR_YMD=2005-05-15合并作为新主建
对记录5的其他主键为10,10,10,2000,101 。再与TKY_STR_YMD=2005-05-15合并作为新主建
3
按照主键10,10,10,1000,101 2005-05-15会得到记录1对它进行更新
设置TKY_END_YMD=记录2的TKY_STR_YMD-1
按照主键10,10,10,2000,101 2005-05-15会得到记录1对它进行更新
设置TKY_END_YMD=记录5的TKY_STR_YMD-1
[@more@]
1
2
3
4
5
6
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
1000
1000
1000
2000
2000
3000
101
101
101
101
101
101
2005-05-15
2005-05-19
2005-05-14
2005-05-15
2005-05-22
2005-05-15
9999-12-31
9999-12-31
9999-12-31
9999-12-31
9999-12-31
9999-12-31
1000
2000
3000
1000
1000
1000
1
2
3
4
5
6
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
1000
1000
1000
2000
2000
3000
101
101
101
101
101
101
2005-05-15
2005-05-19
2005-05-14
2005-05-15
2005-05-22
2005-05-15
2005-5-18
9999-12-31
9999-12-31
2005-5-21
9999-12-31
9999-12-31
1000
2000
3000
1000
1000
1000
UPDATE RDMT_CLS aa SET aa.TKY_END_YMD = (SELECT MIN(TKY_STR_YMD)-1 from RDMT_CLS bb
WHERE aa.KGY_GRP_CD = bb.KGY_GRP_CD and aa.KGY_CD= bb.KGY_CD and aa.MS = bb.MS and aa.HNBN = bb.HNBN AND aa.CLS = bb.cls AND bb.TKY_STR_YMD>TO_DATE('2005/05/15','yyyy/mm/dd'))
WHERE (aa.KGY_GRP_CD,aa.KGY_CD,aa.MS,aa.HNBN,aa.CLS) IN (SELECT KGY_GRP_CD,KGY_CD,MS,HNBN,CLS
FROM RDMT_CLS WHERE TKY_STR_YMD>TO_DATE('2005/05/15','yyyy/mm/dd')) AND aa.TKY_STR_YMD =TO_DATE('2005/05/15','yyyy/mm/dd');
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/118026/viewspace-806417/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/118026/viewspace-806417/