SQL * Plus no ejecuta secuencias de comandos SQL que hace SQL Developer

Me enfrento a un problema muy molesto. He escrito (en Notepad ++) algunos scripts SQL. Ahora, cuando intento ejecutarlos por SQL * Plus (a través de la línea de comandos, en Windows 7), recibo errores comoORA-00933: SQL command not properly ended.

Luego copio y pego la secuencia de comandos en la ventana de la hoja de trabajo del desarrollador SQL, presiono el botón Ejecutar y la secuencia de comandos se ejecuta sin ningún problema / error.

Después de una larga investigación, llegué a pensar que SQL * Plus tiene un problema con algunos espacios en blanco (incluidos los caracteres de nueva línea y las pestañas) que no comprende.

Ya que asumo que SQL Developer sabe cómo deshacerse de los espacios en blanco extraños, he intentado esto: pegue el script en la ventana de la hoja de trabajo de SQL Developer, luego cópielo desde allí y péguelo nuevamente en el script SQL. Eso resolvió el problema para algunos archivos, pero no todos los archivos. Algunos archivos siguen mostrando errores en lugares sin razón aparente.

Has tenido alguna vez este problema? ¿Qué debo hacer para poder ejecutar estos scripts mediante SQL * Plus a través de la línea de comandos?

ACTUALIZAR:

Un ejemplo de un script que no funcionó con SQL * Plus pero sí funcionó con SQL Developer:

<code>SET ECHO ON;

INSERT INTO MYDB.BOOK_TYPE (
    BOOK_TYPE_ID, UNIQUE_NAME, DESCRIPTION, VERSION, IS_ACTIVE, DATE_CREATED, DATE_MODIFIED
)
SELECT MYDB.SEQ_BOOK_TYPE_ID.NEXTVAL, 'Book-Type-' || MYDB.SEQ_BOOK_TYPE_ID.NEXTVAL, 'Description-' || MYDB.SEQ_BOOK_TYPE_ID.NEXTVAL, A.VERSION, B.IS_ACTIVE, SYSDATE, SYSDATE FROM

    (SELECT (LEVEL-1)+0 VERSION FROM DUAL CONNECT BY LEVEL<=10) A,
    (SELECT (LEVEL-1)+0 IS_ACTIVE FROM DUAL CONNECT BY LEVEL<=2) B

;
</code>

El error que recibo:

<code>SQL> SQL> SET ECHO ON;
SQL>
SQL> INSERT INTO MYDB.BOOK_TYPE (
  2      BOOK_TYPE_ID, UNIQUE_NAME, DESCRIPTION, VERSION, IS_ACTIVE, DATE_CREATED, DATE_MODIFIED
  3  )
  4  SELECT MYDB.SEQ_BOOK_TYPE_ID.NEXTVAL, 'Book-Type-' || MYDB.SEQ_BOOK_TYPE_ID.NEXTVAL, 'Description-' || MYDB.SEQ_BOOK_TYPE_ID.NEXTVAL, A.VERSION, B.IS_ACTIVE, SYSDATE, SYSDATE FROM
  5  
SQL>         (SELECT (LEVEL-1)+0 VERSION FROM DUAL CONNECT BY LEVEL<=10) A,
  2          (SELECT (LEVEL-1)+0 IS_ACTIVE FROM DUAL CONNECT BY LEVEL<=2) B
  3  
SQL> ;
  1     (SELECT (LEVEL-1)+0 VERSION FROM DUAL CONNECT BY LEVEL<=10) A,
  2*    (SELECT (LEVEL-1)+0 IS_ACTIVE FROM DUAL CONNECT BY LEVEL<=2) B
</code>

Como ves el error está encendido(SELECT (LEVEL-1)+0 IS_ACTIVE FROM DUAL CONNECT BY LEVEL<=2) B (Por alguna razón, en todos los archivos que reciben este error, el error aparece en la última línea antes del punto y coma final).

Respuestas a la pregunta(1)

Su respuesta a la pregunta