ADO.NET Provider for Snowflake

Build 24.0.9062

外部キー

このセクションでは、ForeignKeys スキーマコレクションを取得することで外部キーに関する情報にアクセスする方法について説明します。

外部キー情報の取得

ForeignKeys スキーマコレクションを取得するには、SnowflakeConnection クラスのGetSchema メソッドを呼び出します。外部キー情報は、カタログ、スキーマ、あるいはテーブル名に基づいて制限できます。

返されたDataTable の結果にアクセスします。次の例は、[DemoDB].[PUBLIC].Products テーブルの外部キーをリストします。

C#

String connectionString = "url=https://myaccount.region.snowflakecomputing.com;user=Admin;password=test123;Database=Northwind;Warehouse=TestWarehouse;Account=Tester1;";

using (SnowflakeConnection conn = new SnowflakeConnection(connectionString)) {
  conn.Open();
  DataTable databaseSchema = conn.GetSchema("ForeignKeys", new string[] {"DemoDB","PUBLIC","Products"});
  foreach (DataRow row in databaseSchema.Rows) {
    Console.WriteLine(row["CONSTRAINT_NAME"]);
    Console.WriteLine(row["TABLE_NAME"]);
  }
}

VB.NET

Dim connectionString As String = "url=https://myaccount.region.snowflakecomputing.com;user=Admin;password=test123;Database=Northwind;Warehouse=TestWarehouse;Account=Tester1;"

Using conn As New SnowflakeConnection(connectionString)
  conn.Open()
  Dim databaseSchema As DataTable = conn.GetSchema("ForeignKeys",  New String() {"DemoDB","PUBLIC","Products")
    For Each row As DataRow In databaseSchema.Rows
    Console.WriteLine(row("CONSTRAINT_NAME"))
    Console.WriteLine(row("TABLE_NAME"))
  Next

End Using

返されたカラム

ForeignKeys スキーマコレクションは、Snowflake の外部キーに関する次の情報を返します。

カラム名データ型説明
CONSTRAINT_CATALOGSystem.String外部キーを含むデータベース。
CONSTRAINT_SCHEMASystem.String外部キーを含むスキーマ。
CONSTRAINT_NAMESystem.String外部キーの名前。
CONSTRAINT_TYPESystem.StringFOREIGN KEY を返す。
TABLE_CATALOGSystem.String外部キーを含むテーブルのデータベース。
TABLE_SCHEMASystem.String外部キーを含むテーブルのスキーマ。
TABLE_NAMESystem.String外部キーを含むテーブルの名前。
IS_DEFERRABLESystem.String外部キーが遅延可能であるかどうか。値はYES またはNO。
INITIALLY_DEFERREDSystem.String外部キーが初期状態で遅延可能であるかどうか。値はYES またはNO。

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9062