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.

Не могу понять в чем синтаксическая ошибка...


Ответы (0 шт):