sql >> Base de Datos >  >> RDS >> Oracle

ORA-00900:¿Error de declaración SQL no válida? ¿Qué pasa con mi sql?

Su cliente DB Solo parece estar interpretando el primer punto y coma que ve como el final de la declaración, lo cual es razonable para SQL simple (DML o DDL) pero no para PL/SQL.

Puede ver eso en la imagen de registro que publicó; trata la función create function ... v_ids integer parte como una declaración porque termina con el primer punto y coma:se compila pero con un error. Luego toma el siguiente fragmento, hasta el siguiente punto y coma, como una declaración separada:v_str varchar2(5000) - y es el que obtiene el ORA-00900, ya que no es un SQL válido.

Según la documentación :

Entonces, en base a eso, no parece entender cómo tratar PL/SQL de manera diferente; pero puede cambiar su configuración para no tratar los puntos y comas como separadores de declaraciones, en general, lo que significa que necesitaría agregar GO después de create type y create function extractos, y cualquier otra consulta o llamada que realice. Esto sería similar a usar / en todas partes en SQL*Plus o SQL Developer.

Puede ser más fácil usar el editor de procedimientos . Presumiblemente después de haber creado el tipo y la función desde el navegador de objetos .

O, por supuesto, use un cliente diferente...