table t1 :
(
...
fldn number(2);
...
)create table t2(
...
fldn varchar2(50); -- number --> varchar2
...
);
insert into t2(
select ...,to_char(fldn) from t2
);
drop table t1;
create table t1(
...
fldn varchar2(50); -- number
...
)
insert into t1(
select * from t2)
(
...
fldn number(2);
...
)create table t2(
...
fldn varchar2(50); -- number --> varchar2
...
);
insert into t2(
select ...,to_char(fldn) from t2
);
drop table t1;
create table t1(
...
fldn varchar2(50); -- number
...
)
insert into t1(
select * from t2)
有第三方工具支持数据库在线修改表结构的
select ...,to_char(fldn) from t2
);
drop table t1;
create table t1 values(
...
fldn varchar2(50); -- number
...
)
insert into t1 values(
select * from t2)
好像之行成功了,我得执行结果中的汉字全是乱码,看不清楚。
是把原来的表删了重建吗?
(
...
fldn number(2);
...
)create table t2(
...
fldn varchar2(50); -- number --> varchar2
...
);
insert into t2 values(
select ...,to_char(fldn) from t2
);
drop table t1;
create table t1(
...
fldn varchar2(50); -- number
...
);
insert into t1 values(
select * from t2
);
ID NUMBER(2)SQL> select * from test1; ID
----------
1
2
SQL> create table test2(id varchar2(20));
SQL> insert into test2 ( select to_char(id) from test1);
SQL> select * from test2;ID
--------------------
1
2
SQL> drop table test1;
SQL> create table test1(id varchar2(20));
SQL> insert into test1(select * from test2);
SQL> select * from test1;ID
--------------------
1
2
SQL> desc test1
ID VARCHAR2(20)SQL>