كيفية الحصول على قائمة بأنواع البيانات المعرفة من قبل المستخدم على Sybase ASE؟
-
12-12-2019 - |
سؤال
أستخدم الاستعلام التالي للحصول على قائمة بأنواع البيانات المعرفة من قبل المستخدم (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
في Sybase 12.5، كان يستخدم للعودة لإرجاع صف واحد لكل UDDT.الآن مع Sybase 15.x، يتم إرجاع صفين:
owner Name datatypename
'dbo' 'auid' 'varchar'
'dbo' 'auid' 'longsysname'
نوع بيانات UDDT هو في الواقع varchar
.لست متأكدا من أين longsysname
يأتي من.ما هي الطريقة الصحيحة لإرجاع قائمة UDDTs التي تعمل في كل من قواعد بيانات 12.5.x و15.x ASE؟
المحلول
جرب هذا الكود:
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