powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Изменение размерности поля
4 сообщений из 4, страница 1 из 1
Изменение размерности поля
    #32632140
mko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mko
Гость
Всем привет!

Есть таблица

Код: plaintext
1.
2.
3.
4.
create table TABLE1 
(
    ID_REC  INTEGER NOT NULL,
    REC_NUM  VARCHAR( 10 ) NOT NULL
);

нужен SQL который поменяет размерность REC_NUM с 10 на 5

Всем спасибо!
...
Рейтинг: 0 / 0
Изменение размерности поля
    #32632150
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, если поле таблички создано на основе домена, то можно изменить домен:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
create domain T_REC_NUM  VARCHAR( 10 ) NOT NULL;

create table TABLE1 
(
    ID_REC  INTEGER NOT NULL,
    REC_NUM  T_REC_NUM);

 /* Меняем*/ 
update RDB$FIELDS set
RDB$FIELD_LENGTH =  5 ,
RDB$CHARACTER_LENGTH =  5 
where RDB$FIELD_NAME = 'T_REC_NUM'

А вообще - не положено.
...
Рейтинг: 0 / 0
Изменение размерности поля
    #32632164
mko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mko
Гость
mvА вообще - не положено.
Какие могут быть последствия ??(к файлу БД 0 коннектов)
...
Рейтинг: 0 / 0
Изменение размерности поля
    #32632187
vis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mko mvА вообще - не положено.
Какие могут быть последствия ??(к файлу БД 0 коннектов)

поищи в форуме. Если в таблице были строки длиннее 5 символов -
получишь "Ariphmetic error... or string truncation" при фетче

наиболее безопасный способ (и это здесь не раз обсуждалось):
1. Создать временное поле, перенести туда строки из поля, которое
необходимо уменьшить, попутно обрезая SUBSTRING'ом.
2. Пересоздать поле с необходимой длиной и перенести
туда данные из временного поля.
3. Дропнуть временное поле.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Изменение размерности поля
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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