powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Может Посоветуйте?
19 сообщений из 19, страница 1 из 1
Может Посоветуйте?
    #32568496
zerrowich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Непойму, что ему не нравится. PK и генератор стоит на поле ASMENS_KODAS.
НА constraints для его стоит Default 0 not null.
Когда пускаю "stored procedure debug" выдает вот это:
validation error for column ASMENS_KODAS, value "*** null ***".
Может ему не нравится этот 'default 0". Или записать в ручную в это поле что нибудь.Может Посоветуйте
...
Рейтинг: 0 / 0
Может Посоветуйте?
    #32568552
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Может Посоветуйте

Конечно посоветуем !
Грамотно задавать вопрос. С приведением текста ХП и т.п.

...
Рейтинг: 0 / 0
Может Посоветуйте?
    #32568604
zerrowich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CREATE TABLE ZMOGUS (
STATUS_ID INTEGER DEFAULT NULL,
VARDAS VARDAS_PAVARDE COLLATE NONE,
PAVARDE VARDAS_PAVARDE COLLATE NONE,
GIMTADIENIS DATE DEFAULT NULL,
ASMENS_KODAS VARCHAR (11) CHARACTER SET NONE DEFAULT 0 NOT NULL
ALTER TABLE ZMOGUS ADD CONSTRAINT PK_ZMOGUS PRIMARY KEY (ASMENS_KODAS);
ALTER TABLE ZMOGUS ADD CONSTRAINT FK_ZMOGUS FOREIGN KEY (STATUS_ID)



REFERENCES SEIMA (STATUS_ID) ON DELETE CASCADE ON UPDATE CASCADE;

CREATE PROCEDURE INSERT_DUOM_IN_ZMOGUS (
ASMENS_KODAS VARCHAR (11),
VARDAS VARCHAR (20),
PAVARDE VARCHAR (20),
GIMTADIENIS DATE)
AS
BEGIN
INSERT INTO ZMOGUS(
ASMENS_KODAS,
VARDAS,
PAVARDE,
GIMTADIENIS)
VALUES(
:ASMENS_KODAS,
:VARDAS,
:PAVARDE,
:GIMTADIENIS);

END


The insert failed because a column definition includes validation constraints.
validation error for column ASMENS_KODAS, value "*** null ***".
...
Рейтинг: 0 / 0
Может Посоветуйте?
    #32568646
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что, триггеры противоречат твоей коммунистической морали?
...
Рейтинг: 0 / 0
Может Посоветуйте?
    #32568673
zerrowich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так советуйте делать insert в тригере?
...
Рейтинг: 0 / 0
Может Посоветуйте?
    #32568719
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет.
в триггере можно сделать проверку на NULL
я так всегда делаю
...
Рейтинг: 0 / 0
Может Посоветуйте?
    #32568745
zerrowich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но я и так вижу что там null хотя default 0 not null
Но как он null туда попал?
...
Рейтинг: 0 / 0
Может Посоветуйте?
    #32568751
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я не знаю как он туда попадает.
я просто предлагаю способ решить эту проблему
...
Рейтинг: 0 / 0
Может Посоветуйте?
    #32568752
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
насчет проверки я имел в виду, что на всякий случай в триггере проверяй значение полей которые not null.
не известно кто в будущем будет вставлять эти записи и побеспокоится ли он о этих полях. поэтому если они вдруг перед вставкой оказываются null сделай их в то значение по умолчанию, которо ближе твоей совести
...
Рейтинг: 0 / 0
Может Посоветуйте?
    #32568858
olol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zerrowichНо я и так вижу что там null хотя default 0 not null
Но как он null туда попал?

Если я не ошибаюсь, то по DEFAULT значение полю присваивается при INSERT и будет таким, в случае если оно не задано, а у тебя ХП сама туда пишет:


INSERT INTO ZMOGUS(ASMENS_KODAS,…
и забивает его в NULL…

Учти, что DEFAULT также не будет присваивать значения полю если ты сделаешь UPDATE с присвоением null…

А вообще бы я не советовал PRIMARY KEY использовать для CHAR…
...
Рейтинг: 0 / 0
Может Посоветуйте?
    #32569007
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... а я бы ещё не советовал делать default численное значение для символьного поля...:)
...
Рейтинг: 0 / 0
Может Посоветуйте?
    #32570069
zerrowich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насчет varchar в PK
если integer то 11 знаков уже не запишет, а код личности у нас 36205161178
так что integer не катит
...
Рейтинг: 0 / 0
Может Посоветуйте?
    #32570101
olol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zerrowich
...а код личности у нас 36205161178

А ктож мешает зделать ID записи с примори...
а код CHAR сам посебе NOT NULL UNICUE

Иль скажешь что у Вас столько записей?
...
Рейтинг: 0 / 0
Может Посоветуйте?
    #32570291
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторесли integer то 11 знаков уже не запишет, а код личности у нас 36205161178

А есть ещё bigint(int64)
Хотя смотря какой сервер, какой диалект...:)
...
Рейтинг: 0 / 0
Может Посоветуйте?
    #32570549
zerrowich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну энтот тип за то слолько памяти занимает
...
Рейтинг: 0 / 0
Может Посоветуйте?
    #32570559
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zerrowichну энтот тип за то слолько памяти занимает
ага... ажно восемь байт!!! да затакое расточительство вас бугалтерия всех в дворники погонит.
надо же... восемь байт...

уж лучше варчаром, - всего-то 11 байт получается...

интересно, это поди база всех разумных существ в нашем рукаве галактики, что им 32 битное целое как ключ не подходит?
...
Рейтинг: 0 / 0
Может Посоветуйте?
    #32570664
AmonRa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex_kинтересно, это поди база всех разумных существ в нашем рукаве галактики, что им 32 битное целое как ключ не подходит?
Не знаю как насчет всех разумных, но на всех людей Земли точно не хватит...
...
Рейтинг: 0 / 0
Может Посоветуйте?
    #32570670
olol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор

Обрати внимание что PRIMARY KEY не даст тебе занести двух по DEFAULT...

Прийдется ждать пока ему номер не присвоят...
Какой тогда смысл в DEFAULT?
...
Рейтинг: 0 / 0
Может Посоветуйте?
    #32571073
Злобастый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AmonRa alex_kинтересно, это поди база всех разумных существ в нашем рукаве галактики, что им 32 битное целое как ключ не подходит?
Не знаю как насчет всех разумных, но на всех людей Земли точно не хватит...
А это смотря кого людЯми считать...
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Может Посоветуйте?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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