Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 переопределение типа поля таблицы  [new]
specsvyaz
Member

Откуда:
Сообщений: 11
необходимо переопределить тип поля smalldatetime c разрешением значения NULL на smalldatetime not null. пробую:
ALTER table TABLICA1 ALTER COLUMN N1 smalldatetime not NULL.
ПИШЕТ: Не удалось вставить значение NULL в столбец "N1", таблицы "TABLICA1"; в столбце запрещены значения NULL. Ошибка в UPDATE.
Как это сделать подскажите?
15 дек 16, 01:11    [20005124]     Ответить | Цитировать Сообщить модератору
 Re: переопределение типа поля таблицы  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7380
specsvyaz
Как это сделать подскажите?
перечитать сообщение об ошибке?
15 дек 16, 01:19    [20005129]     Ответить | Цитировать Сообщить модератору
 Re: переопределение типа поля таблицы  [new]
specsvyaz
Member

Откуда:
Сообщений: 11
Relic Hunter, да, но я не знаю как обойти это ограничение
15 дек 16, 01:25    [20005133]     Ответить | Цитировать Сообщить модератору
 Re: переопределение типа поля таблицы  [new]
iljy
Member

Откуда:
Сообщений: 8711
specsvyaz
Relic Hunter, да, но я не знаю как обойти это ограничение



Ну чисто в порядке бреда - может попробовать убрать из поля, которое должно быть not null, значения null? хотя о чем это я...
15 дек 16, 01:33    [20005140]     Ответить | Цитировать Сообщить модератору
 Re: переопределение типа поля таблицы  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
specsvyaz
Relic Hunter, да, но я не знаю как обойти это ограничение
Раз не понимаете, что вам русским по белому написано, то лучше этим не заниматься.
15 дек 16, 01:36    [20005144]     Ответить | Цитировать Сообщить модератору
 Re: переопределение типа поля таблицы  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
specsvyaz
Relic Hunter, да, но я не знаю как обойти это ограничение
Я тут у себя на проходной сказал охраннику чтобы никого пускал без пропуска. На следующий день пытаюсь пройти, а он не пускает, говорит без пропуска нельзя.

не знаю как обойти это ограничение
15 дек 16, 02:10    [20005165]     Ответить | Цитировать Сообщить модератору
 Re: переопределение типа поля таблицы  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Mind
specsvyaz
Relic Hunter, да, но я не знаю как обойти это ограничение
Я тут у себя на проходной сказал охраннику чтобы никого пускал без пропуска. На следующий день пытаюсь пройти, а он не пускает, говорит без пропуска нельзя.

не знаю как обойти это ограничение
Договориться.
15 дек 16, 09:54    [20005499]     Ответить | Цитировать Сообщить модератору
 Re: переопределение типа поля таблицы  [new]
Sybex
Member

Откуда: Moscow
Сообщений: 113
iap
Mind
пропущено...
Я тут у себя на проходной сказал охраннику чтобы никого пускал без пропуска. На следующий день пытаюсь пройти, а он не пускает, говорит без пропуска нельзя.

не знаю как обойти это ограничение
Договориться.

"Договориться" - это ADD CONSTRAINT DEFAULT???
15 дек 16, 10:55    [20005903]     Ответить | Цитировать Сообщить модератору
 Re: переопределение типа поля таблицы  [new]
Jafa
Member

Откуда:
Сообщений: 132
specsvyaz, не слушай их тут, они просто стебутся :)
для того чтоб у тебя получилось твое ограничение, удали все записи с NULL в N1
DELETE tablica1 WHERE n1 IS NULL;


но если ты не хочешь удалять старые записи, то сделай так
ALTER TABLE tablica1 WITH NOCHECK ADD CONSTRAINT ch_isnotnull CHECK (n1 IS NOT NULL);
15 дек 16, 13:19    [20006785]     Ответить | Цитировать Сообщить модератору
 Re: переопределение типа поля таблицы  [new]
Jafa
Member

Откуда:
Сообщений: 132
Mind
specsvyaz
Relic Hunter, да, но я не знаю как обойти это ограничение
Я тут у себя на проходной сказал охраннику чтобы никого пускал без пропуска. На следующий день пытаюсь пройти, а он не пускает, говорит без пропуска нельзя.

не знаю как обойти это ограничение


нужно было договариваться так, чтоб только новенькие не могли проходить без пропуска, это решение как обойти ваше ограничение
15 дек 16, 13:23    [20006808]     Ответить | Цитировать Сообщить модератору
 Re: переопределение типа поля таблицы  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Jafa,

бредовая логика
15 дек 16, 13:27    [20006836]     Ответить | Цитировать Сообщить модератору
 Re: переопределение типа поля таблицы  [new]
Jafa
Member

Откуда:
Сообщений: 132
TaPaK
Jafa,

бредовая логика

лишбы ляпнуть и свалить, а объяснить свою точку зрения?
15 дек 16, 13:31    [20006863]     Ответить | Цитировать Сообщить модератору
 Re: переопределение типа поля таблицы  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Jafa
TaPaK
Jafa,

бредовая логика

лишбы ляпнуть и свалить, а объяснить свою точку зрения?

как объяснить бредовый костыль... надо приводить либо в одну сторону либо в другую. + в таблицу вроде как и пихаем не nullable но там уже нагажено и в сравнении это будет всегда
15 дек 16, 13:35    [20006879]     Ответить | Цитировать Сообщить модератору
 Re: переопределение типа поля таблицы  [new]
specsvyaz
Member

Откуда:
Сообщений: 11
Jafa, спасибо огромное!
Так как значение даты в этом столбце N1 не столь было важным, я сделал так:
update TABLICA1 set N1=GETDATE()
alter table TABLICA1 alter column N1 smalldatetime not null
Получил, что хотел.
15 дек 16, 13:51    [20006960]     Ответить | Цитировать Сообщить модератору
 Re: переопределение типа поля таблицы  [new]
Jafa
Member

Откуда:
Сообщений: 132
TaPaK
как объяснить бредовый костыль... надо приводить либо в одну сторону либо в другую. + в таблицу вроде как и пихаем не nullable но там уже нагажено и в сравнении это будет всегда

соглашусь, но не полностью. Твой подход правильный для oltp, и наверное для большинства случаев, но если предположить что это таблица в dw, и есть правило
"не менять данные", это может быть единственным решением
15 дек 16, 13:56    [20006992]     Ответить | Цитировать Сообщить модератору
 Re: переопределение типа поля таблицы  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Jafa,

ну неожиданная смена политики для хранения в DWH это как-то странно, тем более что это же DWH :)
15 дек 16, 14:01    [20007008]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить