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

executeSqlScript falla con Spring para el bloque PL/SQL

Parece que está intentando utilizar funciones de PL/SQL en su secuencia de comandos.

El executeSqlScript(..) métodos en AbstractTransactionalJUnit4SpringContextTests delegar internamente a ScriptUtils.executeSqlScript(..) detrás de escena, y ScriptUtils solo admite scripts SQL puros.

Por lo tanto, es probable que deba cambiar a declaraciones SQL simples y encontrar un mecanismo diferente para recuperar el valor de account__id de table1 .

Otra opción (que no tengo no intentado) sería cambiar el separador de declaraciones a algo distinto de ";" (por ejemplo, "end;" ), pero no puede hacerlo a través de AbstractTransactionalJUnit4SpringContextTests.executeSqlScript . En su lugar, deberá invocar ScriptUtils.executeSqlScript(..) o (quizás preferiblemente) use un ResourceDatabasePopulator .