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