попытка вставить данные из таблицы, имеющей столбец blob, в таблицу, имеющую двоичный столбец xml
исходная таблица
desc "T24"."FBNK_ACCOUNT_CLOSED";
Name Null? Type
----------------------------------------- -------- ----------------------
------
RECID NOT NULL VARCHAR2(255)
XMLRECORD BLOB
Целевая таблица
SQL> desc "T24"."FBNK_ACCOUNT_CLOSED_TEMP";
Name Null? Type
----------------------------------------- -------- ----------------------
------
RECID NOT NULL VARCHAR2(255)
XMLRECORD XMLTYPE STORAGE BINARY
поэтому я пытаюсь вставить данные, как показано ниже, но это не удается
SQL> insert into "T24"."FBNK_ACCOUNT_CLOSED_TEMP" select RECID,XMLRECORD
from "T24"."FBNK_ACCOUNT_CLOSED" where rownum<10;
insert into "T24"."FBNK_ACCOUNT_CLOSED_TEMP" select RECID,XMLRECORD from
"T24"."FBNK_ACCOUNT_CLOSED" where rownum<10
*
ERROR at line 1:
ORA-00932: inconsistent datatypes: expected - got BLOB
Документ, за которым я следую, - это документ оракула (идентификатор документа 1405457.1)
ниже несколько строк из документов оракула
" Используйте вставку select в качестве синтаксиса для перемещения данных из большого двоичного объекта scott.tb в таблицу XMLType scott.po_bin, хранящуюся как двоичный XML.
SQL> insert into po_bin select xmltype(bc, 873) from scott.tb;
1 row created.
SQL> select * from po_bin;
SYS_NC_ROWINFO$
----------------------------------------------------------------------------
----
<?xml version = "1.0" encoding = "US-ASCII"?>
<PurchaseOrder>
<Reference>ADAMS-20011127121040988PST</Reference>
<Actions>
<Action>
<User>SCOTT</User>
<Date>2002-03-31</Date>
</Action>
</Actions>
<Reject/>
...
...
"
попытался отредактировать код с несколькими изменениями, но все равно не удалось с другим номером ошибки
insert into "T24"."FBNK_ACCOUNT_CLOSED_TEMP" select recid,
xmltype(xmlrecord, 873) from "T24"."FBNK_ACCOUNT_CLOSED" where rownum<1000
*
ERROR at line 1:
ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00210: expected '<' instead of '2'
Error at line 1
ORA-06512: at "SYS.XMLTYPE", line 283
ORA-06512: at line 1
Причиной этого сбоя является то, что таблица содержит некоторые недопустимые данные XML. поэтому при вставке данных в двоичный XML-столбец проверка некоторых строк завершается ошибкой. так что это не может быть сделано на этом столе. но мои шаги верны в соответствии с документом оракула.