сохранить массив или вектор в MS SQL Server 2005 - PullRequest
1 голос
/ 19 июня 2011

Кто-нибудь знает, как хранить массив или вектор в MS SQL Server 2005? Существует способ хранения массива в Oracle db, но я не знаю о сервере SQL.

например:

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

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

Как и выше st_mk (размер вектора) не совпадает.

Пожалуйста, помогите мне ... !!

1 Ответ

2 голосов
/ 19 июня 2011

В отдельной дочерней таблице?

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 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...