2015-06-09 13 views
6
set NOEXEC ON; 
Select * from emp; 
Set NOEXEC OFF; 

Questa convalida funziona in SQL Server. Ma non funziona in Oracle.Come posso convalidare la sintassi della query SQL nel database Oracle?

C'è qualche sintassi per verificare che la query sia valida o meno in Oracle.

+1

Perché? Quale problema stai cercando di risolvere che ti porta a voler controllare la sintassi senza eseguire la query? È possibile che si desideri che l'applicazione client prepari la dichiarazione senza eseguirla (o utilizzare 'dbms_sql.prepare') ma che esegua istruzioni DDL. –

+0

maggiori informazioni su dbms_sql.prepare. (Possibile duplicato) http://stackoverflow.com/questions/20745010/using-the-oracle-database-parser-from-java-using-jdbc/20745645#20745645 – ibre5041

risposta

9

Utilizzando EXPLAIN PLAN

EXPLAIN PLAN FOR SELECT FROM emp; 

ERROR at line 1: ORA-00936: missing expression

EXPLAIN PLAN FOR SELECT * FROM emp; 

Explained

+0

Nel mio foglio di lavoro PLAN è sottolineato come un errore e ottengo un errore quando eseguo il comando: Errore SQL: ORA-00905: parola chiave mancante 00905. 00000 - "parola chiave mancante". – jimifiki

+0

Allora, qual è la domanda qui? Ti manca alcune parole chiave nella tua query. – sqluser