首页 > 数据库 > 数据库开发技术 > UPDATE 单表内更新字段1 来自查询的记录
| 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 | ||||||
| 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博客 ” ,链接:https://blog.itpub.net/118026/viewspace-806417/ ,如需转载,请注明出处,否则将追究法律责任。