Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

É possível usar o tipo de tabela definido pelo usuário dentro de outro tipo de tabela definido pelo usuário em sql


Não. Por que seria? Não é assim que o SQL Server (ou qualquer banco de dados relacional) funciona.

Da página do TechNet sobre tipos de tabela definidos pelo usuário :

O "aninhamento" em bancos de dados relacionais é obtido usando Chaves estrangeiras

Você não pode nem mesmo criar uma restrição de chave estrangeira entre dois tipos de tabela definidos pelo usuário.

O que você pode fazer é criar dois tipos de tabelas em que uma delas tenha uma coluna para manter o id da outra, assim:
CREATE TYPE A AS TABLE
(
    A_Id int
)

GO


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