Вставка дополнительных строк в таблицу с колонкой Varray [duplicate]

Ubuntu 16.04 LTS поставляется только с libwxgtk3, однако вы можете установить то, что вам нужно, из репозиториев Ubuntu 15.10, просто имейте в виду, что следующее не рекомендуется для решения этой проблемы. Найдите и загрузите следующие пакеты из http://packages.ubuntu.com для выпуска wily. Лучше всего загрузить их в отдельную папку.

# Note: if you're not planning development you can skip the dbg and dev packages

libwxbase2.8-0_2.8.12.1+dfsg2-2ubuntu2_amd64.deb
libwxbase2.8-dbg_2.8.12.1+dfsg2-2ubuntu2_amd64.deb
libwxbase2.8-dev_2.8.12.1+dfsg2-2ubuntu2_amd64.deb
libwxgtk2.8-0_2.8.12.1+dfsg2-2ubuntu2_amd64.deb
libwxgtk2.8-dbg_2.8.12.1+dfsg2-2ubuntu2_amd64.deb
libwxgtk2.8-dev_2.8.12.1+dfsg2-2ubuntu2_amd64.deb
wx2.8-doc_2.8.12.1+dfsg2-2ubuntu2_all.deb
wx2.8-headers_2.8.12.1+dfsg2-2ubuntu2_amd64.deb

После того, как вы их все установили с помощью dpkg -i <package-name>.deb. Они могут вытащить вам ошибку из-за зависимостей, а затем просто установите этот пакет, упомянутый первым, и повторите шаг.

3
задан 4 August 2014 в 18:03

2 ответа

Поскольку документация Oracle содержит здесь

Хотя вложенные таблицы также могут быть изменены в кусочной моде, varrays не может.

Невозможно модифицировать VARRAYS кусочно. Единственное, что вы могли бы сделать:

Преобразовать тип данных вашего fied в NESTED TABLE (СОЗДАТЬ ТИП xxx КАК ТАБЛИЦА yyy) Получить выборку строки, которую вы хотите изменить, изменить с помощью клиентский язык, затем обновите строку, чтобы установить на ней измененное значение.
2
ответ дан 15 August 2018 в 15:35
  • 1
    Благодарим за цитирование документации Oracle, которая дает понять, что я не могу обойти процедуру PL / SQL. Поэтому мой второй вопрос заключался в том, что это умный и простой способ сделать это. Преобразование типа данных не является вариантом в сценарии, который у меня есть (если бы это был вариант, я бы полностью избавился от вложенной колонки) – hol 4 August 2014 в 18:03

Вы пробовали это?

UPDATE (
    SELECT value2
    FROM
        TABLE(SELECT object_list FROM my_object_table)
    WHERE value1 = 10
) t
SET t.value2 = 'object 4 upd';

Я не смог проверить этот запрос, используйте его с осторожностью. Я не уверен, что Oracle может это сделать ...

0
ответ дан 15 August 2018 в 15:35

Другие вопросы по тегам:

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