我使用以下查询来获取用户定义数据类型 (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 列表的正确方法是什么?