Heim >Datenbank >MySQL-Tutorial >Wie rufe ich Spalteninformationen einschließlich Primärschlüsseleinschränkungen in SQL Server ab?

Wie rufe ich Spalteninformationen einschließlich Primärschlüsseleinschränkungen in SQL Server ab?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-03 22:42:391007Durchsuche

How to Retrieve Column Information Including Primary Key Constraints in SQL Server?

Abrufen von Spalteninformationen mit Primärschlüsseleinschränkungen in SQL Server

Abrufen einer Liste von Spalten in einer Tabelle zusammen mit ihren Datentypen und NICHT NULL Einschränkungen sind eine häufige Aufgabe. Möglicherweise müssen Sie jedoch auch bestimmen, welche Spalten Primärschlüssel sind. In diesem Artikel wird erläutert, wie Sie eine vorhandene Abfrage um diese Informationen erweitern können.

Erweiterte Abfrage

Um Primärschlüsselinformationen in Ihre Abfrage einzubeziehen, verwenden Sie die folgende Erweiterung:

LEFT OUTER JOIN sys.index_columns ic
ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT OUTER JOIN sys.indexes i
ON ic.object_id = i.object_id AND ic.index_id = i.index_id

Zusätzliche Spalte

Diese Erweiterung fügt der Ausgabe eine zusätzliche Spalte hinzu, in der erwarteten Ausgabe als „Primärschlüssel“ angegeben:

Column Name Data Type Length isNull Primary Key
... ... ... ... ...

Wenn eine Spalte ein Primärschlüssel ist, wird in der Spalte „Primärschlüssel“ TRUE angezeigt; andernfalls wird FALSE angezeigt.

Vollständige Abfrage

Die vollständige Abfrage mit der Primärschlüsselerweiterung lautet wie folgt:

SELECT 
    c.name 'Column Name',
    t.Name 'Data type',
    c.max_length 'Max Length',
    c.precision ,
    c.scale ,
    c.is_nullable,
    ISNULL(i.is_primary_key, 0) 'Primary Key'
FROM    
    sys.columns c
INNER JOIN 
    sys.types t ON c.user_type_id = t.user_type_id
LEFT OUTER JOIN 
    sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT OUTER JOIN 
    sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id
WHERE
    c.object_id = OBJECT_ID('YourTableName')

Ersetzen Sie ' YourTableName‘ durch Ihren tatsächlichen Tabellennamen, um die gewünschten Informationen abzurufen.

Das obige ist der detaillierte Inhalt vonWie rufe ich Spalteninformationen einschließlich Primärschlüsseleinschränkungen in SQL Server ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn