Freigeben über


Type.ReplaceTableKeys

Syntax

Type.ReplaceTableKeys(tableType as type, keys as list) as type

Info

Gibt einen neuen Tabellentyp zurück, in dem alle Schlüssel durch die Schlüssel aus der angegebenen Liste ersetzt wurden.

Jeder Schlüssel wird durch einen Datensatz in der folgenden Form definiert:

  • Columns: eine Liste der Spaltennamen, die den Schlüssel definieren
  • Primary: true, wenn der Schlüssel der Primärschlüssel der Tabelle ist; andernfalls false

Die angegebene Liste der Schlüssel wird überprüft, um sicherzustellen, dass nicht mehr als ein Primärschlüssel definiert ist und dass alle Schlüsselspaltennamen im Tabellentyp existieren.

Beispiel 1

Ersetzen Sie die Schlüsselinformationen zu einem Tabellentyp.

Verwendung

let
    BaseType = type table [ID = number, FirstName = text, LastName = text],
    KeysAdded = Type.ReplaceTableKeys(
        BaseType, 
        {
            [Columns = {"ID"}, Primary = true],
            [Columns = {"FirstName", "LastName"}, Primary = false]
        }
    ),
    DetailsOfKeys = Type.TableKeys(KeysAdded)
in
    DetailsOfKeys

Ausgabe

{
    [Columns = {"ID"}, Primary = true],
    [Columns = {"FirstName", "LastName"}, Primary = false]
}

Beispiel 2

Löscht die zuvor für einen Tabellentyp definierten Schlüsselinformationen.

Verwendung

let
    TypeWithKey = Type.AddTableKey(type table [ID = number, Name = text], {"ID"}, true),
    KeyRemoved = Type.ReplaceTableKeys(TypeWithKey, {}),
    DetailsOfKeys = Type.TableKeys(KeyRemoved)
in
    DetailsOfKeys

Ausgabe

{}