Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

executeSqlScript falha com Spring para bloco PL/SQL


Parece que você está tentando usar recursos de PL/SQL em seu script.

O executeSqlScript(..) métodos em AbstractTransactionalJUnit4SpringContextTests delegar internamente para ScriptUtils.executeSqlScript(..) nos bastidores e ScriptUtils suporta apenas scripts SQL puros.

Portanto, você provavelmente precisará mudar para instruções SQL simples e encontrar um mecanismo diferente para recuperar o valor do account__id da table1 .

Outra opção (que eu não tentou) seria alterar o separador de instruções para algo diferente de ";" (por exemplo, "end;" ), mas você não pode fazer isso via AbstractTransactionalJUnit4SpringContextTests.executeSqlScript . Em vez disso, você precisaria invocar ScriptUtils.executeSqlScript(..) ou (talvez de preferência) use um ResourceDatabasePopulator .