Ciao a tutti sto imparando DB2 e vorrei sapere come vedere le caratteristiche di una tabella dopo averne creato una.In DB2 Visualizza la definizione di una tabella
Simile al comando EXPLAIN TABLE in MySQL.
Grazie.
Ciao a tutti sto imparando DB2 e vorrei sapere come vedere le caratteristiche di una tabella dopo averne creato una.In DB2 Visualizza la definizione di una tabella
Simile al comando EXPLAIN TABLE in MySQL.
Grazie.
Tutti i metadati sono contenuti nelle tabelle del catalogo DB2 nello "schema" SYSIBM
. Varia per il prodotto mainframe DB2/z e il prodotto distribuito DB2/LUW ma si avvicina sempre di più ad ogni versione.
IBM posiziona comodamente tutti i loro manuali sul sito publib
a cui il mondo può accedere. La mia area di competenza, DB2/z, ha le pagine che vuoi here.
Ci sono un certo numero di tavoli lì che è necessario fare riferimento a:
SYSTABLES for table information.
SYSINDEXES \
SYSINDEXPART + for index information.
SYSKEYS /
SYSCOLUMNS for column information.
L'elenco di tutti i centri di informazione è here cui si dovrebbe puntare alla versione di DB2/LUW se è la vostra area di interesse .
sintassi per descrivere tavolo
db2 describe table <tablename>
o Per tutti i dettagli della tabella
select * from syscat.tables
o Per tutti i dettagli della tabella
select * from sysibm.tables
Oltre a descrivere tabella, è possibile utilizzare il sottostante
DESCRIBE INDEXES FOR TABLE *tablename* SHOW DETAIL
per ottenere informazioni sugli indici della tabella.
Il dettaglio più completo di una tabella su DB2 per Linux, UNIX e Windows può essere ottenuto dall'utilità db2look, che può essere eseguita da un client remoto o direttamente sul server DB2 come utente locale. Lo strumento produce il DDL e altre informazioni necessarie per simulare le tabelle e i relativi dati statistici. I documenti per db2look in DB2 9.5 sono here.
Il db2look
seguente comando connettersi al database SalesDB ed ottenere comandi necessari per ricreare la tabella ORDINI
db2look -d SALESDB -e -t ORDERS
Descrivi la sintassi tavolo
describe table schemeaName.TableName
Ciao Rajesh .. conosci qualche query che fornirà l'istruzione--ddl solo per la tabella/indice? TIA –
So che questa è una vecchia questione del DDL, ma questo farà il lavoro.
SELECT colname, typename, length, scale, default, nulls
FROM syscat.columns
WHERE tabname = '<table name>'
AND tabschema = '<schema name>'
ORDER BY colno
Ciao Todd .. Conosci una query che fornirà l'istruzione-- ddl solo per la tabella/indice? TIA –
A quali versioni di DB2 si applica? Sto lavorando con 7.2 e non sembra funzionare. –
Apparentemente per le versioni precedenti, è necessario utilizzare sysibm piuttosto che syscat. –
Fare clic con il tavolo in Centro di controllo DB2 e ha scelto Generate DDL ... Che vi darà tutto il necessario e molto altro ancora.
provare quanto segue:
DESCRIBE SELECT * FROM TABLE_name
è possibile utilizzare il comando qui sotto per vedere le caratteristiche complete di DB
db2look -d <DB NAme>-u walid -e -o
è possibile utilizzare il seguente comando per vedere le caratteristiche complete di Schema
db2look -d <DB NAme> -u walid -z <Schema Name> -e -o
è possibile utilizzare il comando qui sotto per vedere le caratteristiche complete di ta ble
db2look -d <DB NAme> -u walid -z <Schema Name> -t <Table Name>-e -o
È inoltre possibile visitare il link sottostante per maggiori dettagli. https://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=%2Fcom.ibm.db2.udb.admin.doc%2Fdoc%2Fr0002051.htm
Per controllare gli indici sulla tabella usa il comando seguente, descrivi gli indici per la tabella schemeaName.TableName –
Per controllare i dettagli degli indici sulla tabella usa il comando seguente, descrivi gli indici per la tabella schemeaName.TableName mostra il dettaglio –
db2look -d <nome_db> -e -z <schema_name> -t nome_tabella < > -i <nome_utente> -w < la password >> <file_name> sql
Per ulteriori informazioni, fare riferimento sotto:
db2look [-h]
-d: Database Name: This must be specified
-e: Extract DDL file needed to duplicate database
-xs: Export XSR objects and generate a script containing DDL statements
-xdir: Path name: the directory in which XSR objects will be placed
-u: Creator ID: If -u and -a are both not specified then $USER will be used
-z: Schema name: If -z and -a are both specified then -z will be ignored
-t: Generate statistics for the specified tables
-tw: Generate DDLs for tables whose names match the pattern criteria (wildcard characters) of the table name
-ap: Generate AUDIT USING Statements
-wlm: Generate WLM specific DDL Statements
-mod: Generate DDL statements for Module
-cor: Generate DDL with CREATE OR REPLACE clause
-wrap: Generates obfuscated versions of DDL statements
-h: More detailed help message
-o: Redirects the output to the given file name
-a: Generate statistics for all creators
-m: Run the db2look utility in mimic mode
-c: Do not generate COMMIT statements for mimic
-r: Do not generate RUNSTATS statements for mimic
-l: Generate Database Layout: Database partition groups, Bufferpools and Tablespaces
-x: Generate Authorization statements DDL excluding the original definer of the object
-xd: Generate Authorization statements DDL including the original definer of the object
-f: Extract configuration parameters and environment variables
-td: Specifies x to be statement delimiter (default is semicolon(;))
-i: User ID to log on to the server where the database resides
-w: Password to log on to the server where the database resides
Ci sono molte opzioni per generare ddl di particolare tabella db2. Si prega di scegliere i dettagli necessari per la vostra ricerca. – user4105809
Mi sono appena imbattuto in questa query per descrivere IBE una tabella in winsql
select NAME,TBNAME,COLTYPE,LENGTH,REMARKS,SCALE from sysibm.syscolumns
where tbcreator = 'Schema_name' and tbname='Table_name' ;
DB2 Versione 11,0
Columns:
--------
SELECT NAME,COLTYPE,NULLS,LENGTH,SCALE,DEFAULT,DEFAULTVALUE FROM SYSIBM.SYSCOLUMNS where TBcreator ='ME' and TBNAME ='MY_TABLE' ORDER BY COLNO;
Indexes:
--------
SELECT P.SPACE, K.IXNAME, I.UNIQUERULE, I.CLUSTERING, K.COLNAME, K.COLNO, K.ORDERING
FROM SYSIBM.SYSINDEXES I
JOIN SYSIBM.SYSINDEXPART P
ON I.NAME = P.IXNAME
AND I.CREATOR = P.IXCREATOR
JOIN SYSIBM.SYSKEYS K
ON P.IXNAME = K.IXNAME
AND P.IXCREATOR = K.IXCREATOR
WHERE I.TBcreator ='ME' and I.TBNAME ='MY_TABLE'
ORDER BY K.IXNAME, K.COLSEQ;
Hi Pax, può inquadrare la risposta di cui sopra nella query, allora sarà molto utile per me .. TIA –
sto copiando tutto il mio tabelle a un altro tablespace da tabelle di esportazione e importazione con l'opzione di creazione con i nomi diffrenti . Ho notato che l'indice primario è creato. Tuttavia, i miei indici secondari non sono creati perché esisteva già lo stesso nome indice. Ora sto cercando di ottenere istruzioni ddl per quegli indici . Qualunque corpo mi dia una dichiarazione db2look a , ottieni solo le dichiarazioni ddl dell'indice per questo database. Grazie in anticipo –