是否可以在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
我有资深要在表格中发送行的数据表。
Table
1.Item1
1.Vendor1
2.Vendor2
2.Item1
1.Vendor1
2.Vendor2
请帮助如何将表格行中的表格数据从 asp.net发送到sql 。通过循环或有任何简单的方法将嵌套表数据发送到服务器。
答案 0 :(得分:4)
没有。为什么会这样?这不是SQL Server(或任何关系数据库)的工作方式。
来自TechNet's page on User-Defined Table Types:
实现关系数据库中的“嵌套”限制
用户定义的表类型具有以下限制:
- 用户定义的表类型不能用作表或列中的列 结构化用户定义类型中的字段。
您甚至无法在两个用户定义的表类型之间创建外键约束。
你可以做的是创建两个表类型,其中一个有一个列来保存另一个的id,如下所示:
CREATE TYPE A AS TABLE
(
A_Id int
)
GO
CREATE TYPE B AS TABLE
(
B_Id int,
A_Id int -- "FK"
)
GO