当前位置: 首页 > 面试题库 >

是否可以在sql中的另一个用户定义的表类型中使用用户定义的表类型

越胤
2023-03-14
问题内容

是否可以在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 。通过循环还是有任何简单的方法将嵌套表数据发送到服务器。


问题答案:

不,为什么会这样?这不是SQL Server(或任何关系数据库)的工作方式。

从TechNet的“用户定义的表类型”页面上:

限制

用户定义的表类型具有以下限制:

  • 用户定义的表类型不能用作表中的列或结构化的用户定义类型的字段。

关系数据库中的“嵌套”是通过使用外键实现的

您甚至无法在两种用户定义的表类型之间创建外键约束。

您可以做的是创建两种表类型,其中一种具有保留另一种ID的列,如下所示:

CREATE TYPE A AS TABLE
(
    A_Id int
)

GO


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


 类似资料:
  • 问题内容: 我有创建的定义的表类型 我想创建这种类型的表。从这个答案的建议是尝试 在我的SQL Server Express 2012中产生了以下错误消息: 关键字“ OF”附近的语法不正确。 SQL Server Express不支持此功能吗?如果是这样,我可以用其他方式创建它,例如使用吗? 问题答案: –Create table variable from type. DECLARE @Tab

  • 问题内容: 假设我有一个用户定义的类型: 现在,我想创建一个表来保存这些类型。我可以执行以下操作: 这给了我一张只有一列的表格test_type_field。 有没有一种简单而自动化的方法来代替,以创建一个表,使其具有2列f1和f2?。这样就等同于编写: 问题答案: 你有没有尝试过:

  • 我对卡桑德拉的数据建模有一个疑问,希望能在这里提出一些建议。 我们正在尝试构建一个多租户应用程序,我们希望数据结构由用户定义。用户可以定义数据源、字段数量、数据类型、顺序等,然后基于此结构上载数据。既然Cassandra不支持混合数据类型列表,我们如何在Cassandra之上设计这样的应用程序呢。当前集合类型为映射(相同类型)/集/列表(相同类型)。此外,是否可以基于用户定义的实体查询数据? 目前

  • 问题内容: SQL Server中的用户定义数据类型是中级SQL用户应该了解和使用的吗? 使用UDT的优缺点是什么? 问题答案: 我的建议是永远不要使用它们。如果您不得不更改定义,那么您将处于一个痛苦的世界。自SQL Server 2000以来,这种情况可能有所改善,对新版本更熟悉的人可以告诉您现在是否可以安全使用,但是直到我确认这一点并亲自进行测试后,我才会不要把它放在我的生产系统上。

  • 我有一个例子是这样的 类需要的实例,因此我创建了一个属性,并在创建和时使用该属性 但在初始化对象时,我得到了,我想这是因为属性还没有连线。 如果我不使用bean而直接使用方法,那么一切工作都很好。 是因为我在同一个类中定义了吗?

  • 问题内容: 我正在尝试执行一个当前在phpMyAdmin中可用的查询,但是使用MySqlAdapter在.NET中执行该查询时不起作用。这是Sql语句。 它使用@rownum对从我的内部标量查询返回的每个不同的行进行编号。但是,如果我在.NET中使用它,则假定@rownum是一个参数并抛出异常,因为我没有定义它。 关于如何解决这个问题的任何想法?还是我获取行号的可能方法? 问题答案: 我发现此博客