498: For Example, User maintained 10001-10003,10005-10007,10008-10010.
499: Oracle delivered 10001-10010. So we can remove the user created
500: records as they are already covered by Oracle delivered range*/
501:
502: DELETE FROM pay_us_zip_codes puzc
503: WHERE state_code = substr(l_old_juri_code,1,2)
504: AND county_code = substr(l_old_juri_code,4,3)
505: AND city_code = substr(l_old_juri_code,8,4)
506: AND EXISTS
504: AND county_code = substr(l_old_juri_code,4,3)
505: AND city_code = substr(l_old_juri_code,8,4)
506: AND EXISTS
507: ( SELECT NULL
508: FROM pay_us_zip_codes puzc1
509: WHERE puzc1.state_code = puzc.state_code
510: AND puzc1.county_code = puzc.county_code
511: AND puzc1.city_code = substr(l_new_juri_code,8,4)
512: AND puzc1.zip_start <= puzc.zip_start
511: AND puzc1.city_code = substr(l_new_juri_code,8,4)
512: AND puzc1.zip_start <= puzc.zip_start
513: AND puzc1.zip_end >= puzc.zip_end);
514:
515: UPDATE pay_us_zip_codes
516: SET city_code = substr(l_new_juri_code,8,4)
517: WHERE state_code = substr(l_old_juri_code,1,2)
518: AND county_code = substr(l_old_juri_code,4,3)
519: AND city_code = substr(l_old_juri_code,8,4);
525: Earlier delete statement was used to delete records from User Maintained
526: Zip Codes. 20000-20050 will not be deleted. Now as the zip codes are
527: merged, the below statement will remove the 20000-20010*/
528:
529: DELETE FROM pay_us_zip_codes puzc
530: WHERE state_code = substr(l_new_juri_code,1,2)
531: AND county_code = substr(l_new_juri_code,4,3)
532: AND city_code = substr(l_new_juri_code,8,4)
533: AND EXISTS
531: AND county_code = substr(l_new_juri_code,4,3)
532: AND city_code = substr(l_new_juri_code,8,4)
533: AND EXISTS
534: ( SELECT NULL
535: FROM pay_us_zip_codes puzc1
536: WHERE puzc1.state_code = puzc.state_code
537: AND puzc1.county_code = puzc.county_code
538: AND puzc1.city_code = puzc.city_code
539: AND puzc1.zip_start <= puzc.zip_start
541: AND puzc1.rowid <> puzc.rowid);
542:
543: /*For Partial Overlapped Zip Codes, need to remove the overlapping*/
544:
545: UPDATE pay_us_zip_codes puzc
546: SET zip_start = (SELECT LPAD(TO_CHAR(MAX(puzc2.zip_end) + 1),5,'0')
547: FROM pay_us_zip_codes puzc2
548: WHERE puzc2.state_code = puzc.state_code
549: AND puzc2.county_code = puzc.county_code
543: /*For Partial Overlapped Zip Codes, need to remove the overlapping*/
544:
545: UPDATE pay_us_zip_codes puzc
546: SET zip_start = (SELECT LPAD(TO_CHAR(MAX(puzc2.zip_end) + 1),5,'0')
547: FROM pay_us_zip_codes puzc2
548: WHERE puzc2.state_code = puzc.state_code
549: AND puzc2.county_code = puzc.county_code
550: AND puzc2.city_code = puzc.city_code
551: AND puzc2.zip_start < puzc.zip_start
555: AND county_code = substr(l_new_juri_code,4,3)
556: AND city_code = substr(l_new_juri_code,8,4)
557: AND EXISTS
558: ( SELECT NULL
559: FROM pay_us_zip_codes puzc1
560: WHERE puzc1.state_code = puzc.state_code
561: AND puzc1.county_code = puzc.county_code
562: AND puzc1.city_code = puzc.city_code
563: AND puzc1.zip_start < puzc.zip_start