Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

È possibile utilizzare il tipo di tabella definito dall'utente all'interno di un altro tipo di tabella definito dall'utente in sql

No. Perché dovrebbe essere? Non è così che funziona SQL Server (o qualsiasi database relazionale, se è per questo).

Dalla pagina di TechNet sui tipi di tabella definiti dall'utente :

Il "nidificazione" nei database relazionali si ottiene utilizzando Chiavi straniere

Non puoi nemmeno creare un vincolo di chiave esterna tra due tipi di tabella definiti dall'utente.

Quello che puoi fare è creare due tipi di tabella in cui uno di loro ha una colonna per mantenere l'id dell'altro, in questo modo:

CREATE TYPE A AS TABLE
(
    A_Id int
)

GO


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