Comment obtenir une liste des types de données définis par l'utilisateur sur Sybase ASE?
-
12-12-2019 - |
Question
J'utilise la requête suivante pour obtenir la liste des types de données définis par l'utilisateur (UDDTs):
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
Sur Sybase 12.5, il permet de revenir à retourner une seule ligne par séparation d'urine.Maintenant, avec Sybase 15.x, il renvoie les 2 rangs:
owner Name datatypename
'dbo' 'auid' 'varchar'
'dbo' 'auid' 'longsysname'
Le type de données de la séparation d'urine est en fait varchar
.Je ne suis pas sûr de l'endroit où l' longsysname
est à venir à partir de.Quelle est la bonne façon de retourner la liste des UDDTs qui fonctionne dans les deux 12.5.x et 15.x ASE bases de données?
La solution
Essayez ce code:
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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow