The following lines contain the word 'select', 'insert', 'update' or 'delete':
v_table_update_stmt VARCHAR2(32767);
v_table_select_stmt VARCHAR2(32767);
v_sql_stmt := 'SELECT ''y''
FROM FEM_TAB_COLUMNS_B
WHERE table_name = '''||upper(pv_table_name)||'''
AND column_name = ''ID_NUMBER''';
v_table_update_stmt := 'UPDATE FEM_INTERFACE_FACT_ERRS fide SET (ID_NUMBER ';
v_sql_stmt := 'SELECT id_number,';
v_table_select_stmt := ' = (SELECT id_number ';
v_sql_stmt := 'SELECT interface_rowid,';
v_table_select_stmt := ' = (SELECT NULL ';
v_table_select_stmt := v_table_select_stmt || ', ' || '''' || pv_xdim_info_tbl(v_dim_index).int_disp_code_col || ''', ' ||
' DECODE(substr(error_code,'||to_char(v_dim_index)||',1),''1'',' ;
v_table_select_stmt := v_table_select_stmt || pv_xdim_info_tbl(v_dim_index).int_disp_code_col || ', NULL) ';
v_table_update_stmt := v_table_update_stmt || ', DIM' || v_dim_index || '_NAME '
|| ', DIM' || v_dim_index || '_VALUE ';
v_table_update_stmt := v_table_update_stmt || ' ) ';
v_table_select_stmt := v_table_select_stmt ||
' FROM '|| pv_interface_table_name || ' t '
|| ' WHERE t.rowid = fide.interface_rowid )';
v_main_sql_stmt := v_table_update_stmt || v_table_select_stmt
|| ' WHERE fide.request_id = ' || pc_req_id ;
p_msg_text => 'SQL to update target table is ');
v_insert_interim_sql VARCHAR2(30000);
v_update_interim_error_sql VARCHAR2(30000);
v_insert_target_sql VARCHAR2(30000);
v_insert_interim_sql :=
'INSERT INTO fem_source_data_interim_gt (INTERFACE_ROWID)
SELECT rowid
FROM '||pv_interface_table_name ||
' WHERE calp_dim_grp_display_code = '''||pv_time_dim_grp_dc||''''
||' AND cal_period_end_date = TO_DATE('''
||TO_CHAR(pv_cal_per_end_date, pc_date_format)
||''','''||pc_date_format||''')'
||' AND cal_period_number = '||TO_CHAR(pv_cal_per_number)
||' AND source_system_display_code = '''||pv_source_system_dc||''''
||' AND dataset_display_code = '''||pv_dataset_dc||''''
||' AND ledger_display_code = '''||pv_ledger_dc||''''
||' AND ROWNUM <= '|| pv_num_rows;
p_msg_text => 'SQL to insert interim table is '||v_insert_interim_sql);
EXECUTE IMMEDIATE v_insert_interim_sql;
v_dynamic_sql := 'UPDATE fem_source_data_interim_gt g SET (';
v_dummy1_sql := '(SELECT ';
p_msg_text => 'SQL to update interim table '||v_dynamic_sql);
v_dynamic_sql := 'INSERT INTO FEM_INTERFACE_FACT_ERRS(request_id, interface_rowid, interface_table_name, error_code) ';
v_dummy1_sql := 'SELECT ' || pc_req_id || ', interface_rowid, '
|| '''' || pv_interface_table_name || '''' || ', ';
p_msg_text => 'SQL to insert target table error_code column is ');
pv_xdim_info_tbl.DELETE;
SELECT
cm.interface_column_name ,
xd.value_set_required_flag,
gv.value_set_id,
xd.member_b_table_name,
xd.member_col,
xd.member_display_code_col,
xd.member_data_type_code,
tc.column_name
BULK COLLECT INTO pv_xdim_info_tbl
FROM fem_tab_columns_v tc,
fem_int_column_map cm,
fem_xdim_dimensions xd,
fem_global_vs_combo_defs gv
WHERE tc.table_name = pv_table_name
AND tc.fem_data_type_code = 'DIMENSION'
AND tc.column_name NOT IN
('CREATED_BY_OBJECT_ID','LAST_UPDATED_BY_OBJECT_ID',
'LEDGER_ID', 'SOURCE_SYSTEM_CODE', 'DATASET_CODE')
AND cm.target_column_name = tc.column_name
AND cm.object_type_code = 'SOURCE_DATA_LOADER'
AND xd.dimension_id = tc.dimension_id
AND xd.dimension_id = gv.dimension_id (+)
AND gv.global_vs_combo_id (+) = v_gvsc_id;
SELECT DECODE(REPLACE(TRANSLATE(p_string, '0123456789','0000000000'),'0',''),'',1)
INTO v_check
FROM dual;