You can build up the same query just be querying user_tab_cols
SQL> variable table_name varchar2(30)
SQL> exec :table_name := 'EMP';
PL/SQL procedure successfully completed.
SQL>
SQL> col sortkey1 nopri
SQL> col sortkey2 nopri
SQL>
SQL> select 1 sortkey1, 0 sortkey2, 'update '||:table_name||' set ' from dual
2 union all
3 select 2 , column_id, decode(column_id,1,' ',',')||column_name||' = replace('||column_name||',chr(13),'' ''),'
4 from user_tab_cols
5 where table_name = :table_name
6 union all
7 select 3 , column_id, decode(column_id,1,'where ',' or ')||'instr('||column_name||',chr(13))>0'
8 from user_tab_cols
9 where table_name = :table_name
10 order by 1,2;
'UPDATE'||:TABLE_NAME||'SET'
------------------------------------------------------------------------------------------------------------------------
update EMP set
EMPNO = replace(EMPNO,chr(13),' '),
,ENAME = replace(ENAME,chr(13),' '),
,JOB = replace(JOB,chr(13),' '),
,MGR = replace(MGR,chr(13),' '),
,HIREDATE = replace(HIREDATE,chr(13),' '),
,SAL = replace(SAL,chr(13),' '),
,COMM = replace(COMM,chr(13),' '),
,DEPTNO = replace(DEPTNO,chr(13),' '),
where instr(EMPNO,chr(13))>0
or instr(ENAME,chr(13))>0
or instr(JOB,chr(13))>0
or instr(MGR,chr(13))>0
or instr(HIREDATE,chr(13))>0
or instr(SAL,chr(13))>0
or instr(COMM,chr(13))>0
or instr(DEPTNO,chr(13))>0
You can add in whatever logic you want to exclude numerics, dates etc.