輸入多個防偽碼(如 123,456,789),一次查詢返回所有匹配商品的名稱與價格。
SELECT product_name, price
FROM products
WHERE anti_fake_code IN ('123', '456', '789');
WHERE anti_fake_code IN (?, ?, ?),動態生成佔位符。-- SQL Server
CREATE TYPE dbo.CodeList AS TABLE (code VARCHAR(50));
-- 應用層填充 DataTable 傳入存儲過程
SELECT p.product_name, p.price
FROM products p
JOIN @CodeList c ON p.anti_fake_code = c.code;
CREATE TEMPORARY TABLE 或 UNNEST(ARRAY[...])。List allCodes = Arrays.asList(input.split(","));
List result = new ArrayList<>();
for (List batch : Lists.partition(allCodes, 500)) {
String placeholders = batch.stream().map(c -> "?").collect(Collectors.joining(","));
String sql = "SELECT product_name, price FROM products WHERE anti_fake_code IN (" + placeholders + ")";
result.addAll(jdbcTemplate.query(sql, batch.toArray(), rowMapper));
}