Pra*_*lli 2 sql sql-server user-defined-types sqldatatypes
是否可以在 SQL 中的另一个用户定义表类型中使用用户定义表类型(嵌套用户定义表类型)。
CREATE TYPE A AS TABLE
(
A_Id int
)
GO
CREATE TYPE B AS TABLE
(
B_Id int,
A_Id A --Need To Use A as data type in B
)
GO
Run Code Online (Sandbox Code Playgroud)
我有前辈用一个表发送行的数据表。
Table
1.Item1
1.Vendor1
2.Vendor2
2.Item1
1.Vendor1
2.Vendor2
Run Code Online (Sandbox Code Playgroud)
请帮助如何将表行中的表数据从asp.net 发送到 sql。通过循环或者是否有任何简单的方法将嵌套表数据发送到服务器。
不,为什么会这样?这不是 SQL Server(或任何关系数据库,就此而言)的工作方式。
限制
用户定义的表类型有以下限制:
- 用户自定义表类型不能用作表中的列或结构化用户自定义类型中的字段。
关系数据库中的“嵌套”是通过外键实现的
您甚至不能在两个用户定义的表类型之间创建外键约束。
您可以做的是创建两个表类型,其中一个有一个列来保留另一个的 id,如下所示:
CREATE TYPE A AS TABLE
(
A_Id int
)
GO
CREATE TYPE B AS TABLE
(
B_Id int,
A_Id int -- "FK"
)
GO
Run Code Online (Sandbox Code Playgroud)