Actualmente estoy haciendo un análisis de Oracle sql y, a menudo, encuentro una declaración de SQL válida que no puede ser analizada correctamente por varios analizadores SQL. O fallan al analizarlo, o su árbol de sintaxis abstracta generado de alguna manera está en mal estado. Parece que el único analizador que realmente puede manejar Oracle sql es el propio que no está disponible públicamente y no puede obtenerse como un analizador independiente.¿Por qué no hay un analizador SQL decente?
Soy consciente de que existen diferentes gramáticas SQL y que no sea posible cumplir con todas. Pero incluso los analizadores que dicen ser analizadores de Oracle SQL no tienen éxito en todos los casos.
¿Cuáles cree que son las principales razones que hacen que sea difícil implementar analizadores sql en general o analizadores sql de Oracle en particular?
mejor, Will
Por "instrucción sql válida", ¿quiere decir correcto ANSI SQL? Si es así, no estoy seguro de por qué (con los estándares definidos) no se podrá analizar ninguna sintaxis compatible. Oracle sigue soportando la sintaxis específica de Oracle (+) por razones heredadas, pero el nuevo código debe escribirse en estilo ansi. Hasta entonces, buena suerte;) – tbone
No con válido, quiero decir válido en una gramática específica. En mi caso, soy Oracle SQL, que mi analizador dice que es compatible. – Will