Bad SQL grammar
При выполнении в java коде (db -MS SQL Server)
@Test
public void check (){
String sql = "DECLARE @aa int;\n" +
"EXEC dbo.sc_CheckCode\n" +
" @Code = '2002620020210968',\n" +
" @Result = @aa OUT";
try {
Integer integer = jdbcTemplate.queryForObject(sql, Integer.class);
System.out.println("result: " + integer);
} catch (Exception ex) {
System.out.println("error" + ex.getMessage());
}
}
получаю
StatementCallback; bad SQL grammar [DECLARE @aa int;
EXEC dbo.sc_CheckCode
@Code = '2002620020210968',
@Result = @aa OUT]; nested exception is org.h2.jdbc.JdbcSQLSyntaxErrorException: Синтаксическая ошибка в выражении SQL "DECLARE @[*]AA INT;
EXEC DBO.SC_CHECKCODE
@CODE = '2002620020210968',
@RESULT = @AA OUT"; ожидалось "OR, FORCE, VIEW, ALIAS, SEQUENCE, USER, TRIGGER, ROLE, SCHEMA, CONSTANT, DOMAIN, TYPE, DATATYPE, AGGREGATE, LINKED, MEMORY, CACHED, LOCAL, GLOBAL, TEMP, TEMPORARY, TABLE, SYNONYM, PRIMARY, UNIQUE, HASH, SPATIAL, INDEX"
выполняю в DBeaver - все ок (добавляя в конец для вывода результата select @aa;)
Ожидаемый результат = 0 или -1.
Не могу понять в чем синтаксическая ошибка...