PL/SQL在c#中有类似的数组参数吗?

本文关键字:数组 参数 SQL PL | 更新日期: 2023-09-27 18:11:45

在c#中,如果使用params关键字设置方法参数,该参数将接受无限数量的参数。当调用该方法时,您可以为该形参发送一个以逗号分隔的参数列表。

PL/SQL是否有方法参数的等效特性?

谢谢!

安德鲁·L

PL/SQL在c#中有类似的数组参数吗?

No。params关键字是由编译器转换为数组的语法糖。甲骨文显然不那么"甜蜜"。最接近的方法是创建一个接受可变大小数组(Varray)的过程。

您可以使用临时表,我认为这是最常见的选择,因为它可能适用于大多数RDBMS。

在SQL Server 2008中,你甚至可以传递一个表参数,比如:

CREATE TYPE my_table_type AS TABLE(a int NOT NULL,
                                   b int NOT NULL)
CREATE PROCEDURE [dbo].[test]
(
    @model my_table_type readonly
)
AS
BEGIN
END