Установка данных о КАПЛЕ и вставка в Стол

Мне сохранили содержание КАПЛИ в столе (x_files) с MIME_TYPE = 'текст/равнина', я хочу разобрать эти данные о КАПЛЕ и хотеть вставить данные в стол (TEMP_UPLOAD_DATA), имеющий колонку VARCHAR2.

Можно ли, пожалуйста, помочь мне с примером кода.. Если вы имеете? Я написал код, как упомянуто ниже - если я делаю, вещи DBMS_OUTPUT хорошо работают, но когда я пытаюсь вставить данные в вещи стола, не хорошо работают

Случается так, что я должен преобразовать КАПЛЮ в CLOB сначала и затем разобрать и вставить данные в Стол? Просите свои исходные данные

Столы в моей базе данных:

Table_name: X_files
ID  BLOB_CONTENT    MIME_TYPE   FILE_NAME   LAST_UPDATED    CHARECTER_SET
7   BLOB    text/plain  testing_blob.txt    01/28/2013  - 

Table name: TEMP_UPLOAD_DATA 
Column Name Data Type   Nullable    Default Primary Key
UPLOAD_COLUMN   VARCHAR2(1000)  Yes - 

- 

Кодекс, который я написал:- Это хорошо работает, когда я делаю DBMS_OUTPUT, но не хорошо работать, когда я пытаюсь вставить данные в стол.

DECLARE
l_num NUMBER(8);
i NUMBER(4);
lob_loc  BLOB;
update_details VARCHAR2(10000);
BEGIN
SELECT BLOB_CONTENT INTO lob_loc FROM x_files WHERE  id = 7; 
update_details := UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(lob_loc, 10000, 1));
l_num := (LENGTH(update_details)-LENGTH(REPLACE(update_details,'@@')))/LENGTH('@@');
for i in 1..l_num 
LOOP
DBMS_OUTPUT.PUT_LINE('STRING IS---' || SUBSTR(update_details,instr(update_details,'@@',1,i),(instr(update_details,'##',1,i)-instr(update_details,'@@',1,i)+1)));
--INSERT INTO TEMP_UPLOAD_DATA VALUES(SUBSTR(update_details,instr(update_details,'@@',1,i),(instr(update_details,'##',1,i)-instr(update_details,'@@',1,i)+1)));
END LOOP;
END;

Спасибо

1
nl ja de
Измененный это Спасибо
добавлено автор constantlearner, источник
Почему вы помечали это с JDBC, когда вы делаете его в PL/SQL?
добавлено автор a_horse_with_no_name, источник
"но когда я пытаюсь вставить данные в вещи стола, не хорошо работают". шанс знания, что вы имеете в виду? т.е. что сообщение об ошибке. Как тогда, когда я проверил его с некоторыми данными о кратком образце, это работало хорошо. Возможно, ваша последовательность превышает 1000 знаков после you' ve применил подстроку?
добавлено автор DazzaL, источник

1 ответы

Этот пример показывает, насколько простой это может быть должно вставить подстроки данных о капле в varchar2 колонку. У оригинального вопроса есть несметное число неполных сценариев установки, код смешивает больше команд, чем требования вопроса.

create table blob_table ( id number primary key, blob_content blob );
create table char_table ( id number, char_content varchar2(10) );

insert into blob_table 
     values (1, utl_raw.cast_to_raw('ABCDEFGHIJKLMNOPQRSTUVWXYZ'));

insert into char_table (id, char_content) 
     select bt.id, utl_raw.cast_to_varchar2(dbms_lob.substr(bt.blob_content, 10, 1)) 
       from blob_table bt 
      where bt.id = 1;

select * from char_table;

        ID CHAR_CONTENT
---------- ------------
         1 ABCDEFGHIJ
0
добавлено
SqlCom.ru - Стиль жизни SQL
SqlCom.ru - Стиль жизни SQL
908 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только MS SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz). Предложения в @sql_ninja

SQL_Ninja
SQL_Ninja
340 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz)

Oracle RU
Oracle RU
303 участник(ов)

Русскоязычная группа по Oracle. — Архитектура СУБД — PL/SQL — Оптимизация — Администрирование — Вакансии Oracle (указать инфу по вилке ЗП и удалёнке) Приглашайте коллег :-) Запрещены: личные оскорбления, обсуждения оффтопик вопросов политики и религии