Sybase ASEでユーザー定義データ型のリストを取得する方法
-
12-12-2019 - |
質問
次のクエリを使用して、ユーザー定義データ型のリスト(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
. 所属していません StackOverflow