[Oracle]Le type des champs de ALL_TAB_COLUMNS

rixan Messages postés 438 Statut Membre -  
rixan Messages postés 438 Statut Membre -
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

  1. ranjok Messages postés 337 Statut Membre 35
     
    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
  2. ranjok Messages postés 337 Statut Membre 35
     
    Bref, DATA_TYPE est donc un VARCHAR2 (106) !!!
    0
  3. rixan Messages postés 438 Statut Membre 43
     
    Merci ranjok pour cette info et comment faire pour mon programme C++ alors

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