@respe-t

Как записать массив целых чисел в ячейку MSSQL Server 2012?

Нужно для каждой строки сохранить массив целых чисел из 10 элементов.
Вначале сделал как перевод в строку с разделителями, потом как 10 полей под каждый элемент.
Оба варианты неудобны.

В идеале хочу записать как BLOB поле в binary (varbinary), но незнаю как.

Среда: Delphi XE2;
СУБД: MS SQL Server 2012
  • Вопрос задан
  • 3621 просмотр
Решения вопроса 1
gbg
@gbg Куратор тега Программирование
Любые ответы на любые вопросы
Вы собираетесь сделать архитектурную ошибку. Лучше всего - использовать 10 колонок.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@art_karetnikov
Лучший мой проект: Мобильный банк Сбербанка РФ.
Таблица - это уже массив. Не надо мудрить и писать в массив еще один.
Ответ написан
Комментировать
geeek
@geeek
Лучше всего записывать в поле типа XML, тут и удобство записи и выборки.
Вот пример на t sql:
DECLARE @i int = 0
DECLARE @table TABLE(num int)
WHILE  @i < 10
BEGIN  
	INSERT INTO @table (num)
	VALUES (@i);
	SET @i = @i + 1
END

SELECT * FROM @table FOR XML RAW('numbers') -- тут нужная вам xml строчка


Если пользуетесь другим языком то тоже не проблема. Все имеют возможность формировать xml.
В общем формируете строчку в XML и записываете её в БД.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы