[Oracle]Le type des champs de ALL_TAB_COLUMNS

Fermé
rixan Messages postés 413 Date d'inscription dimanche 27 mai 2007 Statut Membre Dernière intervention 1 mars 2019 - 22 févr. 2008 à 09:57
rixan Messages postés 413 Date d'inscription dimanche 27 mai 2007 Statut Membre Dernière intervention 1 mars 2019 - 22 févr. 2008 à 12:07
Bonjour,

On connait les infos sur une table avec "DESCRIBE nom_table" et repertorier les champs et types d'une table avec
SELECT COLUMN_NAME, DATA_TYPE FROM all_tab_columns WHERE table_name = '...'

Mais comment savoir les infos sur les types, nullable ou pas des champs de cette vue all_tab_columns. On peut faire "DESCRIBE all_tab_columns" mais pas un SELECT sur
En fait, sous Visual C++, j'ai voulu obtenir dans un type VARIANT le résultat d'un select data_type sur une table mais il y a exception:
DataTypeEnum nDataType = (DataTypeEnum)(long) a_fieldsPtr->GetItem("DATA_TYPE")->Value;

(REM : ceci est possible sous SQL Server)

3 réponses

ranjok Messages postés 311 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 23 avril 2019 35
22 févr. 2008 à 11:13
ALL_TAB_COLUMNS permet de décrire les colonnes d'une table, d'une vue et de clusters sous ORACLE.
OWNER VARCHAR2(30)
TABLE_NAME VARCHAR2(30)
COLUMN_NAME VARCHAR2(30)
DATA_TYPE VARCHAR2(106)

DATA_TYPE_MOD VARCHAR2(3)

DATA_TYPE_OWNER VARCHAR2(30)

DATA_LENGTH NUMBER
DATA_PRECISION NUMBER

DATA_SCALE NUMBER

NULLABLE VARCHAR2(1)

COLUMN_ID NUMBER
DEFAULT_LENGTH NUMBER
0
ranjok Messages postés 311 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 23 avril 2019 35
22 févr. 2008 à 12:05
Bref, DATA_TYPE est donc un VARCHAR2 (106) !!!
0
rixan Messages postés 413 Date d'inscription dimanche 27 mai 2007 Statut Membre Dernière intervention 1 mars 2019 43
22 févr. 2008 à 12:07
Merci ranjok pour cette info et comment faire pour mon programme C++ alors

DataTypeEnum nDataType = (DataTypeEnum)(long) a_fieldsPtr->GetItem("DATA_TYPE")->Value;
0