【问题标题】:Stored procedure argument to specify list used in IN clause?用于指定 IN 子句中使用的列表的存储过程参数?
【发布时间】:2021-11-19 22:06:07
【问题描述】:

谁能告诉我如何编写一个接受整数数组的存储过程,然后在IN 子句中使用该数组?

这甚至可能吗?我见过的所有示例都传递了一个逗号分隔的字符串,存储过程必须对其进行解析。

【问题讨论】:

标签: sql sql-server tsql stored-procedures


【解决方案1】:

创建用户定义的表类型:

CREATE TYPE [dbo].[IntArray] AS TABLE (
   Val [int] NOT NULL
)

然后将其用作存储过程参数:

CREATE Proc demo_type
@aryDemo IntArray
as
SELECT *
FROM MyTable
WHERE ID IN (
   SELECT val from @aryDemo
)

【讨论】:

    猜你喜欢
    • 2018-08-10
    • 2010-09-19
    • 1970-01-01
    • 1970-01-01
    • 2010-11-01
    • 2013-08-14
    • 1970-01-01
    • 2013-07-12
    • 1970-01-01
    相关资源
    最近更新 更多