2011-10-20 2 views
2

C#では、paramsキーワードを使用してメソッドパラメータを設定した場合、そのパラメータは不定数の引数をとります。メソッドを呼び出すときに、そのパラメータのコンマ区切りの引数リストを送信できます。C#ではPL/SQLに配列パラメータと同等のものがありますか?

PL/SQLにはメソッド・パラメータと同等の機能がありますか?

ありがとうございます!あなたは一時テーブルを使用することができます

アンドリュー・L

答えて

4

号。オラクルは明らかにそれほど甘くありません。あなたが得ることができる最も近いのは、可変サイズの配列(Varray)を受け入れるプロシージャを作成することです。

+3

PL/SQLの3つのコレクション型の1つ、つまり結合表(ハッシュのようなもの)、ネストした表(そのような表)およびVARRAY(C配列のようなもの)のいずれかを使用できます。詳細については、[コレクションに関するドキュメント](http://download.oracle.com/docs/cd/E11882_01/appdev.112/e25519/composites.htm#CIHIEBJC)を参照してください。 – lkuty

+0

よかった、ありがとう。 –

3

、私はそれはおそらく、ほとんどのRDBMSで動作するため、これは最も一般的なオプションであると仮定します。 SQL Server 2008では

のように、しかし、あなたも、テーブルパラメータを渡すことができます。paramsキーワードは、コンパイラによって配列に変換されるシンタックスシュガーである

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 
関連する問題