Sql -Server UniqueIntList тип для java - PullRequest
0 голосов
/ 12 марта 2020

У меня есть хранимая процедура (sp), которая использует тип UniqueIntList на сервере sql. Я хочу вызвать этот sp из java, используя Spring's NamedParameterJdbcTemplate.

sql Подробности выполнения server sp

DECLARE @M dbo.UniqueIntList 
INSERT INTO @M VALUES (1),(2),(6)

exec usp_mysp @M

GO

Ниже показано, как я выполняю его, используя java

private static final String SQL_SP = "usp_mysp :myVar";
MapSqlParameterSource mapSqlParameterSource = new MapSqlParameterSource();
    mapSqlParameterSource.addValue("myVar", myList); // my list is List<Integer>
    namedParameterJdbcTemplate.query(SQL_SP, mapSqlParameterSource, (q, i) -> {
        // ... //
    });

При этом я получаю Для процедуры или функции задано слишком много аргументов , и я выяснил, что это связано с типом UniqueIntList на сервере sql.

Итак, я хотел бы знать, как именно я должен передать значения в карте для NamedParameterJdbcTemplate?

1 Ответ

0 голосов
/ 19 марта 2020

Как предложил @David Browne в комментариях, я провел некоторое исследование по параметру Table-valueed, и эта ссылка здесь помогла понять, как я могу добиться этого с помощью Springd NamedParameterJdbcTemplate для ms- * 1004. * сервер

...