2011-10-20 22 views
2

在C#中,如果使用關鍵字params設置方法參數,那麼該參數將採用無限數量的參數。當調用該方法時,可以發送該參數的逗號分隔參數列表。PL/SQL在C#中有相當於數組參數嗎?

PL/SQL是否具有與方法參數等效的特性?

謝謝!

安德魯大號

回答

4

號的params關鍵字是語法糖,其由編譯器轉換爲一個數組。甲骨文顯然不那麼'甜蜜'。您可以得到最接近的是創建一個接受可變大小數組(Varray)的過程。

+3

您可以在PL/SQL中使用三種集合類型之一:關聯表(哈希像),嵌套表(像set)和varray(C數組像)。有關詳細信息,請查看[收集文檔](http://download.oracle.com/docs/cd/E11882_01/appdev.112/e25519/composites.htm#CIHIEBJC)。 – lkuty

+0

好的補充,謝謝。 –

3

您可以使用一個臨時表,我想這是最常見的選擇,因爲它很可能在大多數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