Có vẻ như bạn đang cố gắng sử dụng các tính năng của PL / SQL trong tập lệnh của mình.
executeSqlScript(..)
các phương thức trong AbstractTransactionalJUnit4SpringContextTests
ủy quyền nội bộ cho ScriptUtils.executeSqlScript(..)
hậu trường và ScriptUtils
chỉ hỗ trợ các tập lệnh SQL thuần túy.
Vì vậy, bạn có thể cần phải chuyển sang các câu lệnh SQL đơn giản và tìm một cơ chế khác để truy xuất giá trị của account__id
từ table1
.
Một tùy chọn khác (mà tôi không đã cố gắng) sẽ là thay đổi dấu phân tách câu lệnh thành một cái gì đó khác với ";"
(ví dụ:"end;"
), nhưng bạn không thể làm điều đó qua AbstractTransactionalJUnit4SpringContextTests.executeSqlScript
. Thay vào đó, bạn cần gọi ScriptUtils.executeSqlScript(..)
hoặc (có lẽ tốt hơn) sử dụng ResourceDatabasePopulator
.