Как се ползва ARRAY в Interbase?

2 отговора 272 прегледа
#1

Как се ползва ARRAY в Interbase?

Искам в една таблица да сложа поле което да преставлява масив с няколко (например 3) елемента - SMALLINT (ползвам IBExpert). Дотук лесно, създавам таблицата :

CREATE TABLE USERS (
ID DOM_ID,
NAME VARCHAR(40) NOT NULL,
...
...
ARR SMALLINT [0:2]
);
Оттук нататък не зная как да редактирам Стойностите на Arr[0], Arr[1] и Arr[2]. Първото което ми хрумна е да да ги въведа през средата (IBExpert) и да експортна получения запис като SQLScript - ама и това не успях. Някой да даде някакво описание на синтаксиса за работа с масиви в Interbase. И още един страничен и по-скоро практически въпрос - в този масив искам да записвам правата за достъп на различните потребители, като индекса в масива отговаря на формата в клиентското приложение, което потребителя ще ползва (или почити еквивалентно таблица от базата данни), а Стойността (Аrr[0]) - какви права има потребителя (например 0-'само четене', 1-'само четене и редакция' и т.н.) - някой да даде по-свежа идея?
И още нещо за масивите - могат ли да бъдат динамични и ако да - как?

Отговор
в отговор на VladoVasilev #2

Re: Как се ползва ARRAY в Interbase?

Почти не се ползва. Аз поне за себе си съм си направил извода, че не си струва
Масивите в IB са реализирани практически чрез BLOB и на практика използването им е аналогично. В заявките нямаш достъп до отделен елемент на масива, а само до цялото поле (все пак това е стандарта)
Ако настояваш - тук има някои UDF-ки за масиви.

Отговор
в отговор на NDeu #3

Re: Как се ползва ARRAY в Interbase?

Исках просто да се науча как става - иначе един VARCHAR(3) ми върши перфектна работа с малко доработки....все пак масивите само с udf ли могат да се access-ват??

Отговор