假设我有一个id列表:111,112,113,我使用Java执行以下查询:
SELECT "id" FROM User WHERE (email, name) IN (("", ""), ("", ""));
列表长度会有所不同。
从Java我需要将此列表/集合/数组ID传递给存储过程。我怎么能这样做?
CREATE PROCEDURE "PROCEDUREEXAMPLE" (IN userIds ??COLLECTION??) LANGUAGE SQLSCRIPT SQL SECURITY DEFINER
AS
BEGIN
//Do the rest
END
我想使用另一个过程将第一个查询的结果传递给另一个过程,但正如您所看到的,第一个sql是动态的,值会有所不同。
一种方法是将这些id存储在临时表中,过程调用将访问它们,但我想知道是否可以将一组数据传递给过程调用。
随意建议其他方法。 感谢
答案 0 :(得分:1)
这已经被问过&之前几次回答过这里。
不可以,不可能将java集合或java数组值传递到SAP HANA SQL语句中并获取相应的IN LIST
。
也没有Java数组到SAP HANA SQL数组的映射。
为了解决这个问题,有两种主要方法可供选择:
INNER JOIN
根据这组元素进行过滤。