2011-06-19 51 views
1

任何人都知道如何在MS SQL Server 2005中存儲數組或矢量?有辦法在oracle數據庫中存儲數組,但我不知道有關sql服務器。存儲陣列或矢量在MS SQL服務器2005

例如:

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

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

類似於上述st_mk(矢量大小)不相同。

請幫我... !!

回答

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

+0

我認爲VectorElement需要一個序號列來維護列表元素的順序。 –