테이블 정의의 필드명, 데이터타입과 길이, 디폴트값 등을 알아보려고 하는데...
다른건 다되는데 필드의 사이즈가 8.3에서는 되는데, 8.0 에서는 안되는군요.
예를 들어 필드명이 varchar(100)이고, ADO를 이용하여
"Select 필드명 from 테이블명 Limit 1" 을 AdoRs 란 RecordSet에 받아서
li_Size = AdoRs.Fields(0).DefinedSize 하면
8.3에서는 li_Size가 100이 나오는데, 8.0에서는 -1 이 나오는군요.
참고로 필드명과 데이터타입, 디폴트값 등은 그동안 Document를 찾아서
SELECT a.relname as TableName, c.attname as FieldName,
split_part(split_part(b.adbin,'constisnull ',2),' :',1) as isnull, b.adsrc as Default
FROM pg_statio_user_tables A
JOIN pg_attrdef B ON A.RELID = B.ADRELID
JOIN pg_attribute C ON A.RELID = C.ATTRELID AND B.ADNUM = C.ATTNUM
WHERE A.RELNAME ='테이블명'
이런식으로 해서 구했습니다. 물론 필드명과 데이터타입은 Adors를 통해서 알수있습니다.
좋은 방법이 있으면 알려주시기 바랍니다.
|