Search notes:

Oracle: DBMS_SQL.LAST_ERROR_POSITION

declare
   c  integer;
  
   sql_text varchar2(1000) := q'[
      create table tq84_dup_col (
          a   varchar2(10),
          b   number  ( 4),
          c   date        ,
          d   integer     ,
          c   varchar2( 5),
          f   number  ( 2)
      )
   ]';
begin
 
   c := dbms_sql.open_cursor();
 
   dbms_sql.parse(c, sql_text, dbms_sql.native);
  
exception when others then
   dbms_output.put_line(substr(sql_text, dbms_sql.last_error_position-8, 16));
end;
/

See also

dbms_sql

Index