sql >> Base de Datos >  >> RDS >> Sqlserver

¿Es posible usar el tipo de tabla definida por el usuario dentro de otro tipo de tabla definida por el usuario en sql?

No. ¿Por qué sería? No es así como funciona SQL Server (o cualquier base de datos relacional).

De Página de TechNet sobre tipos de tablas definidas por el usuario :

El "anidamiento" en bases de datos relacionales se logra mediante el uso de claves externas

Ni siquiera puede crear una restricción de clave externa entre dos tipos de tablas definidas por el usuario.

Lo que puedes hacer es crear dos tipos de tablas en las que una de ellas tenga una columna para mantener la identificación de la otra, así:

CREATE TYPE A AS TABLE
(
    A_Id int
)

GO


CREATE TYPE B AS TABLE
(
    B_Id int,
    A_Id int -- "FK"
)
GO