gpt4 book ai didi

sql - 创建一个以 SQL @tables 作为其成员的 UDT

转载 作者:行者123 更新时间:2023-12-04 19:41:26 24 4
gpt4 key购买 nike

我想知道是否可以在 SQL Server 2008 中创建一个 CLR 用户定义类型,它的成员将是表变量。

你知道,你可以声明一个表变量:

declare @foo table (row_id int not null ... );

所以我喜欢一个包含多个成员的 UDT,每个成员都是一个以这种方式定义的表(当然是一个不同的表),所以可以说:
select id from @typed_var.table1 where ...

或者
insert into @typed_var.table3(id) values (...)

我确实有一种感觉,我对这个想太多了,但似乎无法在 Internet 上找到明确的"is"或“否”。
有可能吗?

最佳答案

不,这是不可能的。 SQL Server 不会让您 SELECT 或 INSERT 到 UDT 的属性中。

我试过这个,并得到以下错误:

create type childTable as table
(
a int,
b int
)

create type childTable2 as table
(
c int
)

create type parentTable as table
(
firstChild childTable,
secondChild childTable2
)

Msg 350, Level 16, State 1, Line 1
The column "firstChild" does not have a valid data type. A column cannot be of a user-defined table type.

关于sql - 创建一个以 SQL @tables 作为其成员的 UDT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3807433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com