DESCRIBE 文を実行して、フィールド名やフィールドタイプを含むテーブルスキーマ情報を取得します。
説明
DESCRIBE 文の完全な構文については、「テーブル情報のクエリ」をご参照ください。
前提条件
作業を開始する前に、次の要件を満たしていることを確認してください。
Tablestore クライアントが初期化されていること。詳細については、「Tablestore クライアントの初期化」をご参照ください。
注意事項
SQL クエリ機能を使用するには、Tablestore SDK for .NET V5.0.0 以降が必要です。
バージョンの詳細については、「Tablestore SDK for .NET のバージョン履歴」をご参照ください。
パラメーター
|
パラメーター |
説明 |
|
query |
実行する SQL ステートメント。テーブル情報をクエリするには、 |
例
次の例では、describe test_table 文を実行し、スキーマと結果セットの各行を出力します。各行には、以下の順で 6 つの列が含まれます:フィールド名、フィールドタイプ、NULL 制約、デフォルト値、プライマリキー フラグ、パーティションキー フラグ。
/// <summary>
/// テーブル情報のクエリ。
/// </summary>
/// <param name="otsClient"></param>
public static void DescribeTable(OTSClient otsClient)
{
SQLQueryRequest sqlQueryRequest = new SQLQueryRequest("describe test_table");
SQLQueryResponse sqlQueryResponse = otsClient.SQLQuery(sqlQueryRequest);
// テーブルスキーマを JSON 形式で出力。
SQLTableMeta sqlTableMeta = sqlQueryResponse.GetSQLResultSet().GetSQLTableMeta();
Console.WriteLine(JsonConvert.SerializeObject(sqlTableMeta.GetSchema()));
// 結果セットを反復処理。各行には 6 つの列が含まれる:
// インデックス 0:フィールド名、1:フィールドタイプ、2:NULL 制約、
// 3:デフォルト値、4:プライマリキー フラグ、5:パーティションキー フラグ。
ISQLResultSet resultSet = sqlQueryResponse.GetSQLResultSet();
while (resultSet.HasNext())
{
ISQLRow row = resultSet.Next();
Console.WriteLine(row.GetString(0) + " " + row.GetString(1) + " " + row.GetString(2) + " " +
row.GetString(3) + " " + row.GetString(4) + " " + row.GetString(5));
}
}