Тип данных Array

По умолчанию драйвер представляет поле типа массив в виде varchar строки. Это дает возможность работать с этим типом из программ типа Excel(MsQry32), OpenOffice, MsAccess и т.д. Для изменения поля типа array, необходимо придерживаться некоторых правил:

- Простые типы (integer) отображать в виде {1, 2, 3}
- Строковые типы (char) отображать в виде {'1’, ‘2’, ‘3’}

Однако допускается не указывать фигурные скобки и кавычки.
   При внесении в новое поле значений, допускается пропускать елементы через запятую, в этом случае пропущенные поля примут значение 0 или ''.

   Теперь рассмотрим некоторые ограничения. Есть программы, которые формируют SQL запрос на модификацию по всем полям в части WHERE. Мы не забываем, что в нашем случае тип поля Array представлен в виде varchar! Но, не все так плохо, в этом случае достаточно любым способом сообщить программе, что поле Array модифицировалось. Как правильно обходить эту проблему смотри рисунок ниже.

   Будьте осторожны, на текущий момент этот запрос исковеркает вашу таблицу:

update "PROJ_DEPT_BUDGET"
set "QUART_HEAD_CNT" = {1,2,3,4,5}
where "year" = '2003' AND "PROJ_ID" = 'MAPDB' AND "DEPT_NO" = '110'

  Возможно будет реализован формат
{ar 1,2,3,4,5}
или
{ar 'текст1','текст2','текст3','текст4','текст5'}

  Этот формат требует преобразования запроса в вид понятный для сервера:
update "PROJ_DEPT_BUDGET"
set "QUART_HEAD_CNT" = ?
where "year" = '2003' AND "PROJ_ID" = 'MAPDB' AND "DEPT_NO" = '110'

и самодеятельности драйвера, то есть внутреннее преобразование запроса, сохранение параметра, и выполнение по более сложной схеме.