一般来说,我是 Oracle 和数据库管理的新手。
作为上下文,我想创建一个 Java 类,它可以为我提供使用DESC SOME_TABLE
.
我在 Java 中找不到任何具体的方法,但是我发现这ALL_TAB_COLUMNS
可以给我类似的信息。我在 SQL Developer 中尝试过,看看输出有多么不同。事实证明,结果与我预期的大不相同。
我希望有人可以指导我如何解释以下内容:
desc SOME_TABLE;
select
COLUMN_NAME
, DATA_TYPE
, DATA_LENGTH
, NULLABLE
from ALL_TAB_COLUMNS
where TABLE_NAME='SOME_TABLE'
order by column_id;
给出输出:
Name Null Type
--------------- ------- ----------------------
UIDPK NUMBER(20)
NAME VARCHAR2(255)
2 rows selected
COLUMN_NAME DATA_TYPE DATA_LENGTH NULLABLE
--------------- -------------- -------------- --------
UIDPK NUMBER 22 N
UIDPK NUMBER 22 N
UIDPK NUMBER 22 Y
NAME VARCHAR2 255 N
NAME VARCHAR2 255 Y
NAME VARCHAR2 255 N
6 rows selected
为什么每列重复3次?为什么datatype
和length
不同UIDPK
,为什么NULLABLE
不一样?