powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / User Defined Data Types
6 сообщений из 6, страница 1 из 1
User Defined Data Types
    #32055883
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем.

Есть такой вопрос.
Создал я в БД свой тип данных dtFLOAT, за которым кроется (пока!) тип float. Этот тип данных используется в нескольких таблицах во многих столбцах. В какой-то момент меня перестал устраивать float. Я хочу поменять определение типа dtFLOAT с float на numeric(24, 9). Однако не нашел никаких средств. EM не позволяет, в BOL ничего по этому поводу не сказано. Вот я думаю, можно ли выполнить такое действие или нет? Если нельзя - то какие обходные пути есть? Можно ли поменять определение типа в systypes?

Можно конечно, например, скриптовать БД в SQL, а затем менять в нем определение типа. Затем создавать новую базу и переливать туда данные, после чего переименовывать новую базу в старую. Но какой-то это кривоватый способ.

Может кто-то сталкивался уже с подобной проблемой и нашел более-менее приемлимое решение?
...
Рейтинг: 0 / 0
User Defined Data Types
    #32055902
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И сталкивался, и на нашел. Решение - не использовать UDT.
...
Рейтинг: 0 / 0
User Defined Data Types
    #32055912
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО использовать, если нужно, но хорошо подумать, чтобы в последствии не возникало необходимости поменять тип. Так просто - нельзя.
...
Рейтинг: 0 / 0
User Defined Data Types
    #32055918
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Dankov
Возможно и так, но я по крайней мере могу найти способы обойти это ограничение. Пусть с затратами, но все же достаточно просто. А если не использовать - можно зашиться постоянно изменяя типы данных в таблицах, да еще и не везде... может бардак получиться :(

2 Jimmy
Жаль, что нельзя...

Вообще-то я думал, что UDDT специально предназначены для таких вещей. А оказывается, что это фуфло порядочное.
Ладно, может еще кто-то сможет предложить вариант решения проблемы?
...
Рейтинг: 0 / 0
User Defined Data Types
    #32056006
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чем плох вариант с созданием нужного UDT и ALTER TABLE)?
...
Рейтинг: 0 / 0
User Defined Data Types
    #32056017
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дело в том, что этот процесс не автоматический, а ручной. В общем проблема оказалась в том, что я немного заблуждался в UDDT, их использовании.
было бы неплохо иметь что-то типа процедуры sp_changetype (аналог с sp_addtype, sp_droptype). Использование ALTER TABLE ALTER COLUMN не проходит в некоторых случаях, например при наличии индексов или text (они описаны в BOL).
В общем-то я уже нашел пока приемлемое решение: это создать скрипт из EM'а, меняющий описание таблицы, а затем при изменении типа данных использовать этот скрипт для назначения таблице нового типа.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / User Defined Data Types
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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