Un agregado de record especifica los valores de los componentes de un record, bien asociándolos por posición, bien asociándolos por nombre. Cuando se usa un agregado nominal los campos se pueden enumerar en cualquier orden, pero siempre hay que enumerarlos todos.
record_aggregate ::= (record_component_association_list) record_component_association_list ::= record_component_association {, record_component_association} | null record record_component_association ::= [component_choice_list =>] expression | component_choice_list => <> component_choice_list ::= component_selector_name {| component_selector_name} | others
type Complejo is record Real, Imag: Float := 0.0; end record; X : Complejo; X := (3.5, 7.1); -- Asociación posicional X := (Real => 3.5, Imag => 7.1); -- Asociación nominal X := (others => 0.0); X := (others => <>); -- Valor por omisión