SQL,获取所有自定义数据类型的列表

时间:2015-04-05 17:11:22

标签: sql oracle postgresql jdbc

我需要使用sql命令或jdbc检索sql(oracle和postgres)中所有用户定义数据类型的列表。 现在我只知道如何使用

检索源代码
SELECT text FROM all_source WHERE name='type'

1 个答案:

答案 0 :(得分:1)

Oracle几乎可以为所有内容提供数据字典视图。你可以选择 ALL_TYPESALL_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')