在ms sql server 2005中存储数组或向量

时间:2011-06-19 02:51:50

标签: sql sql-server sql-server-2005 tsql sql-server-2008

任何人都知道如何在ms sql server 2005中存储数组或向量?有办法在oracle db中存储数组,但我不知道sql server。

例如:

st_id [1234]
st_mk [(12),(34),(67),(45)]

st_id [3456]
st_mk [(12),(34)]

如上所述st_mk(矢量大小)不相同。

请帮帮我...... !!

1 个答案:

答案 0 :(得分:2)

在单独的子表中?

create table Vector(st_id int primary key)

create table VectorElement
(
    st_id int references Vector(st_id),
    element int
)

create index IX_VectorElement_st_id on VectorElement(st_id)

insert Vector
values(1234)

insert VectorElement
select 1234, 12 union all
select 1234, 34 union all
select 1234, 67 union all
select 1234, 45

将其存储为字符串(varchar)的另一种选择,但效率较低,您需要解析它。

另一种选择是使用XML type column