По замовчуванню драйвер показує поле типа масив у вигляді 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'
и самодіяльності OdbcJdbc драйвера, тобто внутрішнє перетворення
запита, збереження параметра, і виконання по більш складній схемі.