2016-01-31 2 views
0

Мне нужно было добавить несколько полей в запрос выбора.Как использовать поле типа clob в динамическом запросе

Для этого есть таблица с именем INSTRUCTION, где в одном из полей с именем STEPS запрос выбора вставляется с помощью запроса динамической вставки.

я добавил поля, чтобы быть извлечена, но когда я запустил этот динамический запрос вставки для вставки запроса на выборку в STEPS столбце/поле из INSTRUCTION таблицы, у меня были проблемы с длиной STEPS столбца, тип данных является varchar2(4000) максимальная длина, я думаю, что теперь длина инструкции select, которую я пытаюсь вставить, равна 4850.

Я попытался изменить поле STEPS на clob, а затем попытался выполнить тот же динамический запрос вставки для вставки в INSTRUCTION стол, но его снова не удается с character string buffer too small. Я попытался обернуть поля im, выбирая в заявлении select с TO_CLOB (поле from select) для всех полей, и тем не менее его бросает ту же ошибку.

Пожалуйста, помогите мне с этим

+4

Не могли бы вы разместить свои SQL-инструкции, структуры таблиц. связанные данные и ошибки, которые вы получаете? – vmachan

ответ

0

я имел 2 подхода к этому,

  1. Для изменения поля в таблице CLOB типа данных, через прибегая к помощи я нашел ответ, что это не может быть сделано с один ALTER, нам нужно ввести временную переменную как varchar2 и изменить ее на длинный , а затем на clob. Будет ли разместить код позже ...
  2. Ниже приведены шаги,

    • Переименовать оригинальное название таблицы в original_table_bkp
    • Используйте тот же DDL используется для исходной таблицы для create столика с таким же именем, здесь мы планируем создать оригинальную таблицу с типом данных, как CLOB, убедитесь, что субсидии также упоминаются
    • Insert записей из original_table_bkp таблицы в original_table (с новым полем CLOB типа данных)
    • drop original_table_bkp

    Спасибо!

Смежные вопросы