我尝试将功能应用到我现有的其他客户端,允许您发送"位置ID列表"以逗号分隔的值。我的想法是将id传递给表值参数(TVP),但我无法弄清楚如何实现它。我正在使用
new SimpleJdbcCall(getDataSource())
.withoutProcedureColumnMetaDataAccess().withProcedureName(procedureName)
.declareParameters(new SqlParameter(PARAMETER_COMPANY_ID, Types.VARCHAR))
.declareParameters(new SqlParameter(PARAMETER_MIN_YEAR, Types.INTEGER))
.declareParameters(new SqlParameter(PARAMETER_MIN_WEEK, Types.INTEGER))
.declareParameters(new SqlParameter(PARAMETER_LOCATION_ID, ???));
我不知道要解析到最后一个参数的内容,因此" ???"。 我正在创建一个如下所示的过程,并且select语句有一个" WHERE字段IN(SELECT * FROM LocationIDs).LocationIDs是"用户定义的表类型"一列" LocationID"。
CREATEPROCEDURE [dbo].[PROCEDURE_NAME]
@COMPANY_ID varchar(50),
@MIN_YEAR INT,
@MIN_WEEK INT,
@LOCATION_ID LocationIDs READONLY
希望有人可以帮助我:)。