Гость
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Узнать системный тип, лежащий в основе пользовательского / 6 сообщений из 6, страница 1 из 1
06.09.2012, 13:00
    #37946441
kvasimodo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узнать системный тип, лежащий в основе пользовательского
В systypes значение поля type не уникально, например для nvarchar и varchar оно равно 39. Как одним запросом узнать, какой именно тип лежит в основе пользовательского?
...
Рейтинг: 0 / 0
06.09.2012, 15:55
    #37946866
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узнать системный тип, лежащий в основе пользовательского
> В systypes значение поля type не уникально, например для nvarchar и varchar оно
> равно 39. Как одним запросом узнать, какой именно тип лежит в основе
> пользовательского?

О! это почти невозможно. Там иерархия типов, и дурацкая таблица без ключа.
Лучше обойдите как-то по хитрому.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.09.2012, 15:56
    #37946869
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узнать системный тип, лежащий в основе пользовательского
Опишите лучше конечную задачу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.09.2012, 16:13
    #37946908
kvasimodo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узнать системный тип, лежащий в основе пользовательского
MasterZiv,

ну в принципе это и есть конечная задача - получить настоящий тип для колонки.
Можно использовать sp_help, но это слегка нарушает общую схему работы с метаданными, где все добывается простыми одиночными селектами.
...
Рейтинг: 0 / 0
06.09.2012, 16:15
    #37946916
Узнать системный тип, лежащий в основе пользовательского
kvasimodo,

ASE 15.5

select T.name, PHY.name, T.allownulls, T.length, T.prec, T.scale, T.ident, T.usertype
from systypes T, sysusers U, systypes PHY
where T.uid = U.uid and PHY.usertype = (select min(usertype) from systypes where type = T.type ) and T.type = PHY.type and T.name = 'SYS_NUMERIC_9'
...
Рейтинг: 0 / 0
07.09.2012, 19:49
    #37948982
kvasimodo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узнать системный тип, лежащий в основе пользовательского
забыл пароль,

запрос возвращает 0 строк и идею я тоже не понял
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Узнать системный тип, лежащий в основе пользовательского / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]