Oracle
 sql >> Datenbank >  >> RDS >> Oracle

executeSqlScript schlägt mit Spring für PL/SQL-Block fehl

Anscheinend versuchen Sie, Funktionen von PL/SQL in Ihrem Skript zu verwenden.

Das executeSqlScript(..) Methoden in AbstractTransactionalJUnit4SpringContextTests intern an ScriptUtils.executeSqlScript(..) delegieren hinter den Kulissen und ScriptUtils unterstützt nur reine SQL-Skripte.

Daher müssen Sie wahrscheinlich zu einfachen SQL-Anweisungen wechseln und einen anderen Mechanismus finden, um den Wert der account__id abzurufen aus table1 .

Eine weitere Option (die ich nicht habe versucht) wäre, das Anweisungstrennzeichen in etwas anderes als ";" zu ändern (z. B. "end;" ), aber das geht nicht über AbstractTransactionalJUnit4SpringContextTests.executeSqlScript . Stattdessen müssten Sie ScriptUtils.executeSqlScript(..) aufrufen oder (vielleicht besser) einen ResourceDatabasePopulator verwenden .