Sybase ASE에서 사용자 정의 데이터 유형 목록을 가져 오는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com//questions/12695128

문제

다음 쿼리를 사용하여 사용자 정의 데이터 유형 (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 ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top