Type.ReplaceTableKeys

Syntax

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

About

返回一个新的表类型,其中包含由指定键列表替换的所有键。

每个键都使用以下格式的记录进行定义:

  • Columns:定义键的列名列表
  • :如果键是表的主键,则为 />;否则为

验证指定的键列表,以确保定义不超过一个主键,并且表类型上存在所有键列名称。

示例 1

替换表类型的键信息。

用法

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

输出

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

示例 2

清除以前在表类型上定义的键信息。

用法

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

输出

{}