CREATE TABLE TEST (
BASE_ID VARCHAR2 (50) NOT NULL,
SQRXM VARCHAR2 (20),
XB NUMBER,
CONSTRAINT PK_TEST
PRIMARY KEY ( BASE_ID )
USING INDEX
TABLESPACE OPERATION PCTFREE 10
STORAGE ( INITIAL 65536 ))
TABLESPACE OPERATION
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 65536
MINEXTENTS 1
MAXEXTENTS 2147483645
)
NOCACHE;
现在把XB 更改成VARCHAR2 (10), (直接更改数据库字段type)
用java的metadata取出来XB的类型还是number类型,type是3,而varchar(2)的类型是12
----------------------------------------------------------------------------------------------------------------------------------------
SQL> create table hr.yyy(a number(1));
表已创建。
SQL> set long 2000
SQL> select dbms_metadata.get_ddl('TABLE','YYY','HR') FROM DUAL;
DBMS_METADATA.GET_DDL('TABLE','YYY','HR')
--------------------------------------------------------------------------------
CREATE TABLE "HR"."YYY"
( "A" NUMBER(1,0)
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "USERS"
SQL> ALTER TABLE HR.YYY MODIFY A CHAR(1);
表已更改。
SQL> select dbms_metadata.get_ddl('TABLE','YYY','HR') FROM DUAL;
DBMS_METADATA.GET_DDL('TABLE','YYY','HR')
--------------------------------------------------------------------------------
CREATE TABLE "HR"."YYY"
( "A" CHAR(1)
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "USERS"