1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- CREATE OR REPLACE PROCEDURE shanglifeecif.updateIndividualLable_1_20() IS
- DECLARE
- BEGIN
-
- UPDATE shanglifeecif.Individual si1 SET si1.label1 = si1.Education where 1 = 1;
-
- UPDATE shanglifeecif.Individual si1 SET si1.label2 = si1.Occupation where 1 = 1;
-
- UPDATE shanglifeecif.Individual si1 SET si1.label3 = substr(si1.birthday,3,1) || '0后' where 1 = 1;
-
- UPDATE shanglifeecif.Individual si1 SET si1.label4 = (SELECT CASE WHEN temp.age>=0 AND temp.age<13 THEN '儿童' WHEN temp.age>=13 AND temp.age <19 THEN '少年' WHEN temp.age >=19 AND temp.age <41 THEN '青年' WHEN temp.age >=41 AND temp.age <66 THEN '中年' ELSE '老年' END FROM (SELECT TRUNC(months_between(sysdate, si2.birthday)/12) age,si2.indid FROM shanglifeecif.Individual si2) temp WHERE temp.indid = si1.indid);
-
-
-
- UPDATE shanglifeecif.Individual si1 SET si1.label9 = (
- case si1.maritalStat
- when 1 then '未婚'
- when 2 then '已婚'
- when 3 then '丧偶'
- when 4 then '离异'
- else NULL END
- ) WHERE 1 = 1;
-
-
- UPDATE shanglifeecif.Individual si1 SET si1.label10 = (
- case
- when si1.COChild=0 then '无子女'
- when si1.COChild=1 then '1孩'
- when si1.COChild>0 then '2孩及以上'
- else null END
- ) WHERE 1 = 1;
-
-
-
-
-
-
-
-
-
-
- EXCEPTION
- WHEN HIVE_EXCEPTION THEN
- INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
- WHEN Others THEN
- INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
- END
|