|
DESC command (Repository)
di Emanuela Marottoli
-> DESC Command (DBMS_SQL)
Un'altra alternativa al comando DESC
è l'uso delle tabelle del repository,
in particolar modo la USER_TAB_COLUMNS.
Questo script crea un report che visualizza il nome della
tabella, le colonne con il tipo di dato, le informazioni sui
valori NULL e salva l'output della query in un file.
SET LINESIZE 400
SET PAGESIZE 1000
BREAK ON NOME_TABELLA SKIP 3
SPOOL C:/RISULTATO.TXT
SELECT
table_name nome_tabella,
column_name nome_colonna,
decode(nullable,'N','NOT NULL','Y','') nullo,
decode(data_type, 'NUMBER',ltrim(data_type)||'('||data_precision||
decode(data_scale,'0','',','||data_scale)
||')',ltrim(data_type)||'('||data_length||')'
) tipo
FROM user_tab_columns
WHERE table_name ='&nome_tabella'
ORDER BY column_name;
SPOOL OFF;
-- RISULTATO OTTENUTO CON LO SCRIPT:
| NOME_TABELLA |
NOME_COLONNA |
NULLO |
TIPO |
| CLIENTI |
COGNOME |
NOT NULL |
VARCHAR2(180) |
| CLIENTI |
DATA_NASCITA |
NOT NULL |
DATE(7) |
| CLIENTI |
ETA |
NOT NULL |
NUMBER(2) |
| CLIENTI |
NOME |
NOT NULL |
VARCHAR2(60) |
| CLIENTI |
NUOVO_ABBONATO |
NOT NULL |
NUMBER(1) |
| CLIENTI |
STATO_CIVILE |
NOT NULL |
NUMBER(1) |
| 6 rows selected. |
-- RISULTATO OTTENUTO CON IL COMANDO 'DESC':
SQL> DESC CLIENTI
| Name |
Null? |
Type |
| DATA_NASCITA |
NOT NULL |
DATE |
| ETA |
|
NUMBER(2) |
| NUOVO_ABBONATO |
NOT NULL |
NUMBER(1) |
| STATO_CIVILE |
NOT NULL |
NUMBER(1) |
| COGNOME |
NOT NULL |
VARCHAR2(180) |
| NOME |
NOT NULL |
VARCHAR2(60) |
DIFFERENZE TRA I DUE RISULTATI:
- Con lo script viene visualizzato anche il nome della tabella, quindi eliminando
la clausola WHERE dalla SELECT è possibile visualizzare la descrizione di tutte le tabelle
appartenenti all'utente.
- Con lo script è possibile ordinare le colonne.
- Con lo script è possibile utilizzare ALIAS.
- Con lo script è possibile visualizzare la grandezza del tipo di dato DATA.
- Con lo script viene visualizzato il totale di righe estratte.
-> DESC Command (DBMS_SQL)
|