DECLARE vinput VARCHAR2(200); voutput VARCHAR2(4000); BEGIN vinput := '1111073124253975'; FOR x IN (WITH tab1 AS (SELECT vinput str FROM dual) SELECT regexp_substr(str || ',', '[^,]+', 1, LEVEL) AS c2 FROM tab1 t CONNECT BY LEVEL <= length(regexp_replace(str, '[^,]', NULL)) + 1) LOOP dbms_output.put_line('userid:' || x.c2); BEGIN --tf_f_user vtable := 'tf_f_user'; SELECT 'insert into tf_f_user values ' || '(' || user_id || ',' || dummy_tag || ',' || net_type_code || ',' || serial_number || ',' || chr(10) || eparchy_code || ',' || city_code || ',' || cust_id || ',' || usecust_id || ',' || brand_code || ',' || product_id || ',' || chr(10) || user_type_code || ',' || prepay_tag || ',' || service_state_code || ',' || open_mode || ',' || acct_tag || ',' || remove_tag || ',' || to_char(in_date, 'yyyymmddhh24miss') || ',' || chr(10) || to_char(open_date, 'yyyymmddhh24miss') || ',' || to_char(pre_destroy_date, 'yyyymmddhh24miss') || ',' || to_char(destroy_date, 'yyyymmddhh24miss') || ',' || chr(10) || first_call_date || ',' || to_char(last_stop_date, 'yyyymmddhh24miss') || ',' || credit_class || ',' || base_credit_value || ',' || credit_value || ',' || chr(10) || credit_control_id || ',' || changeuser_date || ',' || score_value || ',' || to_char(update_time, 'yyyymmddhh24miss') || ');' INTO voutput FROM ucr_act1.tf_f_user t WHERE t.user_id = x.c2 AND t.remove_tag = ('0'); dbms_output.put_line(voutput); EXCEPTION WHEN no_data_found THEN dbms_output.put_line('no ' || vtable || '!'); END; BEGIN --tf_f_feepolicy vtable := 'tf_f_feepolicy'; SELECT 'insert into tf_f_feepolicy values ' || '(' || feepolicy_ins_id || ',' || id_type || ',' || id || ',' || feepolicy_id || ',' || spec_tag || ',' || rela_user_id || ',' || product_id || ',' || serv_bund_id || ',' || nvl(serv_id, 0) || ',' || nvl(feepolicy_bund_id, 0) || ',' || to_char(start_date, 'yyyymmddhh24miss') || ',' || to_char(end_date, 'yyyymmddhh24miss') || ');' INTO voutput FROM ucr_act1.tf_f_feepolicy t WHERE t.id = x.c2 AND t.start_date <= SYSDATE AND t.end_date >= SYSDATE; dbms_output.put_line(voutput); EXCEPTION WHEN no_data_found THEN dbms_output.put_line('no ' || vtable || '!'); END; BEGIN --tf_f_user_importinfo vtable := 'tf_f_user_importinfo'; SELECT 'insert into tf_f_user_importinfo values ' || '(' || user_id || ',' || net_type_code || ',' || product_id || ',' || brand_code || ',' || logic_phone || ',' || phyical_phone || ',' || to_char(start_date, 'yyyymmddhh24miss') || ',' || to_char(end_date, 'yyyymmddhh24miss') || ');' INTO voutput FROM ucr_act1.tf_f_user_importinfo t WHERE t.user_id = x.c2 AND t.start_date <= SYSDATE AND t.end_date >= SYSDATE; dbms_output.put_line(voutput); EXCEPTION WHEN no_data_found THEN dbms_output.put_line('no ' || vtable || '!'); END; BEGIN --tf_f_user_member vtable := 'tf_f_user_member'; SELECT 'insert into tf_f_user_member values ' || '(' || user_id || ',' || member_role_code || ',' || member_role_type || ',' || member_role_id || ',' || member_role_number || ',' || discnt_priority || ',' || to_char(start_date, 'yyyymmddhh24miss') || ',' || to_char(end_date, 'yyyymmddhh24miss') || ');' INTO voutput FROM ucr_act1.tf_f_user_member t WHERE t.user_id = x.c2 AND t.start_date <= SYSDATE AND t.end_date >= SYSDATE; dbms_output.put_line(voutput); EXCEPTION WHEN no_data_found THEN dbms_output.put_line('no ' || vtable || '!'); END; END LOOP; END; -- --SELECT * FROM ucr_act1.tf_f_user_importinfo t WHERE t.user_id = ('1111073124253975');
sql and exception
猜你喜欢
转载自searchje.iteye.com/blog/1544006
今日推荐
周排行