我需要使用sql命令或jdbc检索sql(oracle和postgres)中所有用户定义数据类型的列表。 现在我只知道如何使用
检索源代码SELECT text FROM all_source WHERE name='type'
答案 0 :(得分:1)
Oracle几乎可以为所有内容提供数据字典视图。你可以选择 ALL_TYPES和ALL_TYPE_ATTRS。后者显示了每种类型的所有者。
Postgres没有相同的功能,因此您可以使用here
中的此查询SELECT n.nspname as schema, t.typname as type
FROM pg_type t
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace
WHERE (t.typrelid = 0 OR (SELECT c.relkind = 'c' FROM pg_catalog.pg_class c WHERE c.oid = t.typrelid))
AND NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type el WHERE el.oid = t.typelem AND el.typarray = t.oid)
AND n.nspname NOT IN ('pg_catalog', 'information_schema')