プロシージャパラメータ
ProcedureParameters スキーマコレクションはストアドプロシージャパラメータを説明します。
ストアドプロシージャパラメータのメタデータの取得
ProcedureParameters スキーマコレクションは、ストアドプロシージャのパラメータに関する情報を含みます。
ProcedureParameters スキーマコレクションを取得するには、ApacheImpalaConnection クラスのGetSchema メソッドを呼び出します。返されたDataTable オブジェクトのメタデータにアクセスします。 次の例は、すべてのストアドプロシージャのパラメータ情報を取得します。
C#
String connectionString = "Server=127.0.0.1;Port=21050;"; using (ApacheImpalaConnection conn = new ApacheImpalaConnection(connectionString)) { conn.Open(); DataTable table = conn.GetSchema("ProcedureParameters"); foreach (DataRow row in table.Rows) { foreach (DataColumn col in table.Columns) { Console.WriteLine(col.ColumnName + "=" + row[col]); } } }
VB.NET
Dim connectionString As [String] = "User=Server=127.0.0.1;Port=21050;" Using conn As New ApacheImpalaConnection(connectionString) conn.Open() Dim table As DataTable = conn.GetSchema("ProcedureParameters") For Each row As DataRow In table.Rows For Each col As DataColumn In table.Columns Console.WriteLine(col.ColumnName + "=" + row(col)) Next Next End Using
返されたカラム
スキーマコレクションのカラムは次のとおりです。
カラム名 | データ型 | 説明 |
SPECIFIC_CATALOG | System.String | ストアドプロシージャを含むデータベースの名前。 |
SPECIFIC_SCHEMA | System.String | ストアドプロシージャを含むスキーマ。 |
SPECIFIC_NAME | System.String | パラメータを含むストアドプロシージャの名前。 |
PARAMETER_NAME | System.String | パラメータの名前。 |
PARAMETER_MODE | System.String | 入力パラメータはIN、出力パラメーターはOUT、入力パラメータと出力パラメータの両方が可能な場合はINOUT を返します。 |
ORDINAL_POSITION | System.Int32 | パラメータのシーケンスナンバー。 |
DATA_TYPE | System.String | データ型の名前。 |
CHARACTER_MAXIMUM_LENGTH | System.Int32 | 文字の最大長。 |
CHARACTER_SET_NAME | System.String | 文字データを含むカラムの文字セットの名前。 |
NUMERIC_PRECISION | System.Int32 | 数値データの最大桁数。 |
NUMERIC_SCALE | System.Int32 | カラムのスケール(小数点以下の桁数)。 |
DATETIME_PRECISION | System.Int32 | パラメータ型がdatetime またはsmalldatetime の場合の小数秒単位の精度。それ以外の場合はNULL を返します。 |
PROCEDURE_DESCRIPTION | System.String | プロシージャの簡単な説明。 |
PROVIDER_TYPE | System.Type | 実行している言語に応じて適切なデータ型を示します。 |