Domanda

Sono nuovo nell'amministrazione Oracle e Database in generale.

Come contesto, voglio creare una classe Java che mi darà le informazioni che avrei utilizzato DESC SOME_TABLE.

Non riesco a trovare alcun modo specifico per farlo in Java, tuttavia l'ho trovato ALL_TAB_COLUMNS potrebbe darmi informazioni simili. L'ho provato in SQL Developer per vedere quanto fosse diverso l'output. Si scopre che i risultati sono molto più diversi che mi aspettavo.

Speravo che qualcuno potesse guidarmi attraverso come interpretare quanto segue:

desc SOME_TABLE;

select 
       COLUMN_NAME
     , DATA_TYPE
     , DATA_LENGTH
     , NULLABLE
  from ALL_TAB_COLUMNS
 where TABLE_NAME='SOME_TABLE'
 order by column_id;

Dà l'output:

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

Perché ogni colonna viene ripetuta 3 volte? Perché è il datatype e length diverso su UIDPK E perché lo è NULLABLE non lo stesso?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a dba.stackexchange
scroll top