繁体   English   中英

如何在Sybase ASE上获取用户定义的数据类型列表?

[英]How to get a list of user defined data types on Sybase ASE?

我使用以下查询来获取用户定义的数据类型(UDDT)列表:

SELECT USER_NAME(S.uid) as owner, S.name as Name, T.name as datatypename, 
         OBJECT_NAME(S.domain), OBJECT_NAME(S.tdefault) 
FROM systypes S,systypes T 
WHERE S.type=T.type AND T.usertype<100 AND T.usertype NOT IN(18,24,25,80) AND S.usertype>100  
ORDER BY 1, 2

在Sybase 12.5上,它用于返回每个UDDT返回一行。 现在使用Sybase 15.x,它返回2行:

owner   Name    datatypename 
'dbo'  'auid'  'varchar'
'dbo'  'auid'  'longsysname'

UDDT的数据类型实际上是varchar 我不确定longsysname来自哪里。 返回在12.5.x和15.x ASE数据库中都有效的UDDT列表的正确方法是什么?

试试这段代码:

select s1.name, 
        (select name 
         from systypes s2 
         where s2.usertype=(
                            select min( s3.usertype) 
                            from systypes s3 
                            where  s3.hierarchy=s1.hierarchy)
        ) base_type,  USER_NAME(s1.uid) as owner
    from systypes s1
    WHERE s1.usertype>100  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM