| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS SQL Server > Change column type numeric(18,5) to numeric(18,8) |
| Автор: gelo86 4.1.2008, 11:07 |
| U menya jest uze tablica w baze dannyx. Adin stolbec imejet cenu i tip stolbca numeric(18,5). No w JAVA kode u menya cifri s 8 ciframi posle zapiatoj. Wazmozno li kak nibud izminit sto posle zapiatoj bylo ne 5 a 8 cifr? jest li takaja sql komanda katoraja eto zdelajet (tipa alter ....). Spasiba. |
| Автор: gelo86 4.1.2008, 11:49 |
| Na etot stolbec iscio jest index. alter table price alter column sell numeric(18, 8) newypolnajetsya. |
| Автор: Servena 4.1.2008, 12:42 |
| Лучше попробуй в Джаве обрезать пару цифр после запятой. А если хочешь менять, то убери индексацию, меняй, а потом проиндексируй заново. |
| Автор: Akina 5.1.2008, 21:22 |
И не должна работать. Правильное решение:
|
| Автор: kobra 6.1.2008, 10:05 |
| ешо один вариант (кстати так работет студиа) 1. создать временную таблицу, копию изменяемой тавлицы. 2. удолить таблицу. 3. создать новую. 4. перегнать данные из временной. ну естественно при этом нужно будет учесть связи и индексы |
| Автор: Akina 6.1.2008, 19:09 |
| kobra, По-моему, создать и скопировать одно поле быстрее, чем создать и скопировать таблицу целиком. |
| Автор: kobra 8.1.2008, 09:55 |
| ну, это спорный вопрос. зависит от ситуации. лично не тестировал. думаю в большенстве случаев так оптималнее, тем более что и мелкомягкие так организовали. |
| Автор: Akina 8.1.2008, 18:45 |
Где-то я такое уже слышал... "Нет, я лично Бродского не читал, но... " |
| Автор: Akina 10.1.2008, 10:56 |
Нет, потому что имеется потенция к изменению данных. Вот (18,5)->(21,8) - беспроблемная конвертация. |