在C#中,如果使用關鍵字params
設置方法參數,那麼該參數將採用無限數量的參數。當調用該方法時,可以發送該參數的逗號分隔參數列表。PL/SQL在C#中有相當於數組參數嗎?
PL/SQL是否具有與方法參數等效的特性?
謝謝!
安德魯大號
在C#中,如果使用關鍵字params
設置方法參數,那麼該參數將採用無限數量的參數。當調用該方法時,可以發送該參數的逗號分隔參數列表。PL/SQL在C#中有相當於數組參數嗎?
PL/SQL是否具有與方法參數等效的特性?
謝謝!
安德魯大號
號的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
您可以在PL/SQL中使用三種集合類型之一:關聯表(哈希像),嵌套表(像set)和varray(C數組像)。有關詳細信息,請查看[收集文檔](http://download.oracle.com/docs/cd/E11882_01/appdev.112/e25519/composites.htm#CIHIEBJC)。 – lkuty
好的補充,謝謝。 –