I'm working on an implementation for DBD::Oracle, but the SQL
statement (the decode() expressions, to be precise) exceeds the
limit of my editor ;-)
In the meantime - to satisfy the impatient people - I extented
a previous test case

 http:[EMAIL PROTECTED]/msg00056.html


Steffen
DROP   TABLE tst.TypeTest
/
CREATE TABLE tst.TypeTest
(
  cINTEGER           INTEGER NOT NULL
, cNUMBER            NUMBER
, cNUMBER_38_0       NUMBER  ( 38, 0 )
, cNUMBER_11_2       NUMBER  ( 11, 2 )
, cNUMBER_xx_2       NUMBER  (  *, 2 )
, cFLOAT             FLOAT
, cFLOAT_11          FLOAT   ( 11 )
, cREAL              REAL
, cDOUBLE_PRECISION  DOUBLE PRECISION
, cDATE              DATE DEFAULT sysdate
, cCHAR              CHAR
, cVARCHAR           VARCHAR (  7 )
, cVARCHAR2          VARCHAR2(  7 )
)
/
COMMENT ON COLUMN tst.TypeTest.cINTEGER IS 'This is an integer.'
/

SELECT *
  FROM
(
  SELECT tc.OWNER
       , tc.TABLE_NAME
       , tc.COLUMN_NAME
       , tc.DATA_TYPE
       , tc.DATA_LENGTH
       , tc.DATA_PRECISION
       , tc.DATA_SCALE
       , tc.NULLABLE
       , tc.COLUMN_ID
       , tc.DEFAULT_LENGTH
       , tc.DATA_DEFAULT
       , cc.COMMENTS
    FROM ALL_TAB_COLUMNS  tc
       , ALL_COL_COMMENTS cc
   WHERE tc.TABLE_NAME    = cc.TABLE_NAME
     AND tc.COLUMN_NAME   = cc.COLUMN_NAME
     AND tc.OWNER         = cc.OWNER
)
 WHERE OWNER      LIKE 'TST'
   AND TABLE_NAME LIKE 'TYPETEST'
 ORDER by OWNER, TABLE_NAME, COLUMN_ID
/


/*

OWNER TABLE    COLUMN            DATA     DATA   DATA      DATA  NULLABLE COLUMN 
DEFAULT DATA    COMMENTS
      NAME     NAME              TYPE     LENGTH PRECISION SCALE          ID     
LENGTH  DEFAULT
----- -------- ----------------- -------- ------ --------- ----- -------- ------ 
------- ------- --------------------
TST   TYPETEST CINTEGER          NUMBER       22               0        N      1       
          This is an integer.
TST   TYPETEST CNUMBER           NUMBER       22                        Y      2
TST   TYPETEST CNUMBER_38_0      NUMBER       22        38     0        Y      3
TST   TYPETEST CNUMBER_11_2      NUMBER       22        11     2        Y      4
TST   TYPETEST CNUMBER_XX_2      NUMBER       22               2        Y      5
TST   TYPETEST CFLOAT            FLOAT        22       126              Y      6
TST   TYPETEST CFLOAT_11         FLOAT        22        11              Y      7
TST   TYPETEST CREAL             FLOAT        22        63              Y      8
TST   TYPETEST CDOUBLE_PRECISION FLOAT        22       126              Y      9
TST   TYPETEST CDATE             DATE          7                        Y     10       
8 sysdate
TST   TYPETEST CCHAR             CHAR          1                        Y     11
TST   TYPETEST CVARCHAR          VARCHAR2      7                        Y     12
TST   TYPETEST CVARCHAR2         VARCHAR2      7                        Y     13

*/

Reply via email to