外部キー
このセクションでは、ForeignKeys スキーマコレクションを取得することで外部キーに関する情報にアクセスする方法について説明します。
外部キー情報の取得
ForeignKeys スキーマコレクションを取得するには、SybaseConnection クラスのGetSchema メソッドを呼び出します。外部キー情報は、カタログ、スキーマ、あるいはテーブル名に基づいて制限できます。
返されたDataTable の結果にアクセスします。次の例は、[master].[dbo].Products テーブルの外部キーをリストします。
C#
String connectionString = "user=myuser;password=mypassword;Server=localhost;Database=Northwind";
using (SybaseConnection conn = new SybaseConnection(connectionString)) {
conn.Open();
DataTable databaseSchema = conn.GetSchema("ForeignKeys", new string[] {"master","dbo","Products"});
foreach (DataRow row in databaseSchema.Rows) {
Console.WriteLine(row["CONSTRAINT_NAME"]);
Console.WriteLine(row["TABLE_NAME"]);
}
}
VB.NET
Dim connectionString As String = "user=myuser;password=mypassword;Server=localhost;Database=Northwind"
Using conn As New SybaseConnection(connectionString)
conn.Open()
Dim databaseSchema As DataTable = conn.GetSchema("ForeignKeys", New String() {"master","dbo","Products")
For Each row As DataRow In databaseSchema.Rows
Console.WriteLine(row("CONSTRAINT_NAME"))
Console.WriteLine(row("TABLE_NAME"))
Next
End Using
返されたカラム
ForeignKeys スキーマコレクションは、Sybase の外部キーに関する次の情報を返します。
| カラム名 | データ型 | 説明 |
| CONSTRAINT_CATALOG | System.String | 外部キーを含むデータベース。 |
| CONSTRAINT_SCHEMA | System.String | 外部キーを含むスキーマ。 |
| CONSTRAINT_NAME | System.String | 外部キーの名前。 |
| CONSTRAINT_TYPE | System.String | FOREIGN KEY を返す。 |
| TABLE_CATALOG | System.String | 外部キーを含むテーブルのデータベース。 |
| TABLE_SCHEMA | System.String | 外部キーを含むテーブルのスキーマ。 |
| TABLE_NAME | System.String | 外部キーを含むテーブルの名前。 |
| IS_DEFERRABLE | System.String | 外部キーが遅延可能であるかどうか。値はYES またはNO。 |
| INITIALLY_DEFERRED | System.String | 外部キーが初期状態で遅延可能であるかどうか。値はYES またはNO。 |