TSQL使用其他用户定义类型创建表?

时间:2013-06-06 13:53:47

标签: sql-server tsql stored-procedures usertype

我有一个存储过程,它接收存储为GUID的(n)过滤器列表。我需要的是一个存储过程,它将接收(n)过滤器列表的列表,以便我可以返回每个(n)过滤器列表的比较。这有可能吗,你会怎么编写脚本?

作为参考,当前用户类型如下所示:

CREATE TYPE [dbo].[GuidList] AS TABLE(
    [Value] [uniqueidentifier] NOT NULL,
    PRIMARY KEY CLUSTERED 
(
    [Value] ASC
)WITH (IGNORE_DUP_KEY = OFF)
)

1 个答案:

答案 0 :(得分:1)

如果你真正想做的就是拥有一个列表列表(一个2层的层次结构,我认为这就是你要求的),只需使用XML。

<guid_lists>
    <guid_list>
        <guid value = '' />
        <guid value = '' />
        <guid value = '' />
        <guid value = '' />
    </guid_list>
    <guid_list>
        <guid value = '' />
        <guid value = '' />
        <guid value = '' />
        <guid value = '' />
    </guid_list>
</guid_lists>

如果这不可用,您可能需要澄清使用USER TYPE的目的。