S
Sometimes I need to cleanup trailing spaces (RTRIM) from packages, procedures... There are better methods out there, like using proper editor. But this is an approach you can use directly from SQL Developer or console. Remember that source code of views and jobs is stored elsewhere.
DECLARE out_clob CLOB; BEGIN DBMS_OUTPUT.PUT_LINE('SET DEFINE OFF'); DBMS_OUTPUT.PUT_LINE('WHENEVER SQLERROR EXIT SQL.SQLCODE STOP'); DBMS_OUTPUT.PUT_LINE(''); -- FOR c IN ( SELECT DISTINCT s.type, s.name FROM user_source s WHERE s.type NOT IN ('TYPE') AND s.text != REGEXP_REPLACE(s.text, '\s+$', '') || CHR(10) ORDER BY 1, 2 ) LOOP DBMS_OUTPUT.PUT_LINE('-- ' || c.type || ' ' || c.name); DBMS_OUTPUT.PUT_LINE('CREATE OR REPLACE '); out_clob := 'CREATE OR REPLACE '; -- FOR d IN ( SELECT REGEXP_REPLACE(s.text, '\s+$', '') AS text FROM user_source s WHERE s.type = c.type AND s.name = c.name ORDER BY s.line ) LOOP out_clob := out_clob || d.text || CHR(10); DBMS_OUTPUT.PUT_LINE(d.text); END LOOP; -- DBMS_OUTPUT.PUT_LINE('/'); DBMS_OUTPUT.PUT_LINE(''); DBMS_OUTPUT.PUT_LINE(''); --EXECUTE IMMEDIATE out_clob; END LOOP; END; /
Comments
Post a Comment