sql >> Database teknologi >  >> RDS >> Oracle

Brug af Oracle-databaseparseren fra Java ved hjælp af JDBC

Jeg har ingen idé om, hvad du præcist vil opnå, men måske kan du prøve at bruge pakken DBMS_SQL og dets metode PARSE . Dette virker kun med DML kun udsagn. Dette er, hvad Oracle SQL Developer gør.

Denne parser kan også bruges til DML-sætninger. For PL/SQL vil det have brug for nogle justeringer. Så vidt jeg ved, har ingen brugt tid nok til at skabe en ægte fuldt validerende parser til Oracles DDL.

Her er et eksempel på, hvordan jeg bruger det:

declare 
 l_cursor number := dbms_sql.open_cursor; 
 l_offset number := -1 ; 
begin 
  begin 
    dbms_sql.parse( l_cursor, :st, dbms_sql.native ); 
  exception when others then
   l_offset := dbms_sql.last_error_position;
  end;
dbms_sql.close_cursor( l_cursor );
  :off := l_offset;
end;

Udfør blot denne blok. Send én inputparameter af typen VARCHAR2(String) (maks. 32KB) og én outputparameter NUMBER.



  1. Er der nogen måde at køre Flyway-opgaven på, undtagen nogle tabeller?

  2. Skinner PostgreSQL numerisk feltoverløb FEJL

  3. Dette resultat er et resultat, der kun er fremad, og at kalde rewind() efter at have bevæget sig fremad understøttes ikke - Zend

  4. hvordan man laver rækkeværdier til kolonne dynamisk i mysql