请参阅以下数据服务查询配置,其中包含“ARRAY”类型的示例输入参数,您可以有效地使用它来满足您的要求。
<query id="setSalaryForEmployeesQuery" useConfig="default">
<sql>update Employees set salary=:salary where employeeNumber in (:employeeNumbers)</sql>
<param name="salary" ordinal="1" paramType="SCALAR" sqlType="DOUBLE" type="IN"/>
<param name="employeeNumbers" ordinal="2" paramType="ARRAY" sqlType="INTEGER" type="IN"/>
</query>
在那里,如果您引用名为“employeeNumbers”的输入映射配置,它基本上解决了查询中提到的相同要求。
要尝试此功能,您可以使用每个数据服务提供的“tryIt”功能(类似于其他服务类型),与上述配置对应的数据服务请求格式如下图所示。
<p:setSalaryForEmployees xmlns:p="http://ws.wso2.org/dataservice/samples/rdbms_sample">
<!--Exactly 1 occurrence-->
<xs:salary xmlns:xs="http://ws.wso2.org/dataservice/samples/rdbms_sample">1000</xs:salary>
<!--1 or more occurrences-->
<xs:employeeNumbers xmlns:xs="http://ws.wso2.org/dataservice/samples/rdbms_sample">1011</xs:employeeNumbers>
<xs:employeeNumbers xmlns:xs="http://ws.wso2.org/dataservice/samples/rdbms_sample">1022</xs:employeeNumbers>
</p:setSalaryForEmployees>
包含上述配置片段的完整数据服务配置可以位于 DSS 产品存档中的“DSS_HOME/sample/dbs/rdbms/RDBMSSample.dbs”中。