将一个非常大的字符串数组传递给SQL存储过程

时间:2017-09-27 08:37:47

标签: java sql sql-server node.js

我有这个存储过程,它接受每个13个字符长的字符串数组,例如:2345697894131,现在从我的后端代码我可以通过将我的数组转换为CSV字符串将其作为CSV传递。 因此,在存储过程中,我可以将其捕获为:

@in_product_id VARCHAR(MAX) or maybe VARCHAR(8000)

然后我使用拆分功能和IN来检查各种条件 例如:

IF EXISTS (SELECT top 1 * FROM Table WHERE (productid IN (SELECT (value) from dbo.split(@in_product_id,','))))

选择查询的语法可能不正确。

但这是接受一系列ID的理想方式。我担心的是,当productid数组太大而且超过MAX时,我将不得不追踪那些错过的ID。

我需要知道在存储过程中处理此类输入的理想方法,还是应该限制生产的数量?

0 个答案:

没有答案
相关问题