Следующий SQL -Script отлично работает в моем SQL -Разработчике:
begin
for c in (select * from user_constraints where constraint_type = 'R' and status = 'ENABLED')
loop
dbms_utility.exec_ddl_statement('alter table "' || c.owner || '"."' || c.table_name || '" disable constraint ' || c.constraint_name);
end loop;
end;
Когда тот же скрипт выполняется с Spring JdbcTemplate, ничего не происходит:
String sql = null;
try {
sql = FileUtils.readFileToString(resourceLoader.getResource("classpath:sql/DisableContraints.sql").getFile(), Charset.defaultCharset());
} catch (IOException e) {
exceptionHandler.handleException("DisableContraints.sql not loaded.", e);
}
jdbcTemplate.execute(sql);
Такое же странное поведение возникает при попытке выбрать внешние ключи: select * from user_constraints where constraint_type = 'R' and status = 'ENABLED'
. SQL - Разработчик возвращает 32 ключа, JDB C возвращает 0. Но когда я выбираю все ключи (select * from user_constraints where status = 'ENABLED'
) SQL - Разработчик и JDB C возвращает 68 ключей.
У меня нет ключ к ошибке.