SQL> SQL> create table tt1 2 ( 3 V NUMBER, 4 B NUMBER, 5 C LONG RAW 6 );
Table created
SQL> SQL> INSERT INTO part_tab_example 2 SELECT v,b,c FROM tt1;
INSERT INTO part_tab_example SELECT v,b,c FROM tt1
ORA-00997: illegal use of LONG datatype
SQL> ALTER TABLE tt1 MODIFY c BLOB;
Table altered
SQL> SQL> INSERT INTO part_tab_example 2 SELECT v,b,c FROM tt1;
0 rows inserted
SQL>
如果tab_a不能转换类型的话,参照下下面的过程 ALTER TABLE Long_tab NOLOGGING;ALTER TABLE Long_tab MODIFY (long_col CLOB [DEFAULT <default_val>]) LOB (long_col) STORE AS (NOCACHE NOLOGGING);Note that you must also specify NOCACHE when you specify NOLOGGING in the STORE AS clause.ALTER TABLE Long_tab MODIFY LOB (long_col) (CACHE);ALTER TABLE Long_tab LOGGING;
还可以这样试试 SQL> desc part_tab_example Name Type Nullable Default Comments ---- ------ -------- ------- -------- V NUMBER Y B NUMBER Y C BLOB Y
SQL> desc tt1 Name Type Nullable Default Comments ---- -------- -------- ------- -------- V NUMBER Y B NUMBER Y C LONG RAW Y
SQL> SQL> INSERT INTO part_tab_example 2 SELECT v,b,to_lob(c) FROM tt1;
2 (
3 V NUMBER,
4 B NUMBER,
5 C bLOB
6 )
7 partition by range (V)
8 (
9 partition P1 values less than ('11')
10 tablespace TEST1
11 pctfree 10
12 pctused 40
13 initrans 1
14 maxtrans 255
15 storage
16 (
17 initial 64K
18 minextents 1
19 maxextents unlimited
20 ),
21 partition P2 values less than ('21')
22 tablespace TEST2
23 pctfree 10
24 pctused 40
25 initrans 1
26 maxtrans 255
27 storage
28 (
29 initial 64K
30 minextents 1
31 maxextents unlimited
32 )
33 );
Table created
SQL>
SQL> create table tt1
2 (
3 V NUMBER,
4 B NUMBER,
5 C LONG RAW
6 );
Table created
SQL>
SQL> INSERT INTO part_tab_example
2 SELECT v,b,c FROM tt1;
INSERT INTO part_tab_example
SELECT v,b,c FROM tt1
ORA-00997: illegal use of LONG datatype
SQL> ALTER TABLE tt1 MODIFY c BLOB;
Table altered
SQL>
SQL> INSERT INTO part_tab_example
2 SELECT v,b,c FROM tt1;
0 rows inserted
SQL>
ALTER TABLE Long_tab NOLOGGING;ALTER TABLE Long_tab MODIFY (long_col CLOB [DEFAULT <default_val>]) LOB (long_col) STORE AS (NOCACHE NOLOGGING);Note that you must also specify NOCACHE when you specify NOLOGGING in the STORE AS clause.ALTER TABLE Long_tab MODIFY LOB (long_col) (CACHE);ALTER TABLE Long_tab LOGGING;
SQL> desc part_tab_example
Name Type Nullable Default Comments
---- ------ -------- ------- --------
V NUMBER Y
B NUMBER Y
C BLOB Y
SQL> desc tt1
Name Type Nullable Default Comments
---- -------- -------- ------- --------
V NUMBER Y
B NUMBER Y
C LONG RAW Y
SQL>
SQL> INSERT INTO part_tab_example
2 SELECT v,b,to_lob(c) FROM tt1;
0 rows inserted
SQL>