sql >> Databasteknik >  >> RDS >> Oracle

ORA-00942:tabell eller vy finns inte ... kan jag få mer information?

Om PL/SQL-proceduren kompileras måste alla direkt refererade tabeller finnas. Jag skulle anta att det är dynamisk SQL. Om du använder DBMS_SQL kan du använda LAST_ERROR_POSITION . Om du använder EXECUTE IMMEDIATE och du har din SQL i en praktisk variabel, låt din kod göra något i stil med:

begin
  execute immediate v_sql;
exception
  when others then
    declare
      v_cur BINARY_INTEGER;
    begin
      v_cur := dbms_sql.open_cursor;
      dbms_sql.parse (v_cur, v_sql, dbms_sql.native);
    exception
      when others then
        dbms_output.put_line (sqlerrm || ' near pos ' ||
                     substr(v_sql,dbms_sql.last_error_position -10,40));
        dbms_sql.close_cursor (v_cur);
        raise;
    end;
end;



  1. Kan MySQL FIND_IN_SET eller motsvarande fås att använda index?

  2. Maximal längd för text av MySQL-typ

  3. bästa sättet att migrera ett Windows Forms-program från sql-server till oracle

  4. Enkla citattecken, Dubbla citattecken och Backticks i MySQL