Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DECLARE
- v_statement VARCHAR2(4000);
- v_cols VARCHAR2(4000);
- v_values VARCHAR2(4000);
- BEGIN
- FOR c1 IN (
- SELECT DISTINCT pk1 FROM TB_FDM_HISTORY
- WHERE table_name = 'TB_FDM_ESTOQUE'
- AND action = 'D'
- ORDER BY 1
- ) LOOP
- FOR c2 IN (
- SELECT * FROM TB_FDM_HISTORY
- WHERE table_name = 'TB_FDM_ESTOQUE'
- AND action = 'D'
- AND pk1 = c1.pk1
- ORDER BY 1
- ) LOOP
- v_cols := v_cols || c2.column_name || ',';
- v_values := v_values || NVL(TO_CHAR(c2.old_number), ''''||c2.old_vc||'''') || ',';
- END LOOP;
- v_cols := SUBSTR(v_cols, 1, LENGTH(v_cols)-1);
- v_values := SUBSTR(v_values, 1, LENGTH(v_values)-1);
- v_statement := 'insert into TB_FDM_ESTOQUE_TEMP ('||v_cols||') values ('||v_values||')';
- EXECUTE IMMEDIATE v_statement;
- v_cols := '';
- v_values := '';
- END LOOP;
- END;
Advertisement
Add Comment
Please, Sign In to add comment