Share via


Database.EnumCandidateKeys Method

Enumerates a list of all candidate primary keys in the database, which can be referenced by a foreign key.

Namespace:  Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)

Syntax

'Declaration
Public Function EnumCandidateKeys As DataTable
'Usage
Dim instance As Database 
Dim returnValue As DataTable 

returnValue = instance.EnumCandidateKeys()
public DataTable EnumCandidateKeys()
public:
DataTable^ EnumCandidateKeys()
member EnumCandidateKeys : unit -> DataTable
public function EnumCandidateKeys() : DataTable

Return Value

Type: System.Data.DataTable
A DataTable system object value that contains an enumerated list of candidate keys. The table describes the different columns of the returned DataTable.

Column

Data type

Description

Table_Name

String

The name of the table that contains the candidate primary key.

Name

String

The name of the candidate primary key.

Examples

The example runs a Server object enumeration method, but extracting the information from the DataTable object is the same for database object enumeration methods.

VB

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Call the EnumCollations method and return collation information to DataTable variable.
Dim d As DataTable
'Select the returned data into an array of DataRow.
d = srv.EnumCollations
'Iterate through the rows and display collation details for the instance of SQL Server.
Dim r As DataRow
Dim c As DataColumn
For Each r In d.Rows
    Console.WriteLine("============================================")
    For Each c In r.Table.Columns
        Console.WriteLine(c.ColumnName + " = " + r(c).ToString)
    Next
Next

PowerShell

$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")

$d = new-object System.Data.Datatable
$d = $srv.EnumCollations

Foreach ($r in $d.Rows)
{
   Write-Host "============================================"
   Foreach ($c in $d.Columns)
   {
      Write-Host $c.ColumnName "=" $r[$c]
   }
}

See Also

Reference

Database Class

Microsoft.SqlServer.Management.Smo Namespace

Other Resources

Working with Database Objects

Creating, Altering, and Removing Foreign Keys

Creating, Altering, and Removing Databases

CREATE DATABASE (Transact-SQL)