Friday, June 3, 2011

Get Table/Record Structure using SQL




SELECT
rcd.fieldnum,
  rcd.fieldname,
  decode(fld.fieldtype,   0,   'CHAR',   1,   'LONG',   2,   'NUM',   3,   'SIGN',   4,   'DATE',   5,   'TIME',   6,   'DATE TIME',   8,   'ATTCH',   9,   'IMG REF',   'SRec') AS
"FIELDTYPE",
  fld.LENGTH,
decode(bitand(rcd.useedit, 1), 1, 'Y', ' ') "Key",
decode(bitand(rcd.useedit, 16), 16, 'Y', ' ') "Alt Srch Key",
decode(bitand(rcd.useedit, 256), 256, 'Y', ' ') "REQUIRED",
decode(bitand(rcd.useedit, 32), 32, 'Y', ' ') "List Box Item",
  nvl(lbl.shortname, ' ')"SHORT NAME",
  nvl(lbl.longname, ' ') "LONG NAME",
  rcd.defrecname|| ' ' ||rcd.deffieldname "DEFAULT"
FROM psrecfield rcd,
  psdbfield fld,
  psdbfldlabl lbl
WHERE rcd.fieldname = fld.fieldname(+)
 AND rcd.fieldname = lbl.fieldname(+)
 AND((lbl.label_id = rcd.label_id
 AND rcd.label_id <> ' ') OR(rcd.label_id = ' '
 AND lbl.default_label = 1) or (rcd.label_id = ' '
 AND RCD.SUBRECORD = 'Y'))
   AND rcd.recname = '<Table/Record Name>'
ORDER BY rcd.fieldnum;

Sample Output:

No comments:

Post a Comment