Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > Обьявление массива в TRANSACT SQl-e


Автор: nicka47 6.1.2006, 21:43

Мне нужно обьявить массив в TRANSACT SQl-e, как это делаеться синтаксически, с примером использования пожалуйста

Автор: boevik 6.1.2006, 22:03
Никак. Нет масивов в TSQL.
Можно использовать временные таблицы или объявить переменную типа table.

Автор: Vit 7.1.2006, 14:36
Массивом в контексте баз данных являются таблицы. В 2000 сервере и выше появились табличные переменные, очень удобно:


Код

Declare @MyArray table
( id int,
Value varchar(10)
)

-- заполняем массив

insert into @MyArray(id, Value ) Values (1, 'какая-то строка1')
insert into @MyArray(id, Value ) Values (2, 'какая-то строка2')
insert into @MyArray(id, Value ) Values (3, 'какая-то строка3')
insert into @MyArray(id, Value ) Values (4, 'какая-то строка4')
insert into @MyArray(id, Value ) Values (5, 'какая-то строка5')
insert into @MyArray(id, Value ) Values (6, 'какая-то строка6')


-- найти строку по индексу

select Value from @MyArray where id=3
--- и т.д. можно реализовать любые действия как и с массивом, только даже покруче... Вот только передать в другую процедуру такую переменную нельзя


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)