Relation Types

Relvar Assignment

This follows from relation types:
[PREF]
create table T(type_T)
create table U(type_T) = T
declare @V table(type_T) = U
[ENDPREF]
Strong typing could be enforced, which might make this easier to add to the language. For instance, the following could be made illegal even though the attribute sets are identical, since the tables involved were not declared as being of a specific type:
[PREF]
create table T(i int)
create table U(i int) = T -- error: cannot implicitly convert between anonymous relation types
[ENDPREF]