Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Может Посоветуйте? / 19 сообщений из 19, страница 1 из 1
19.06.2004, 20:28:49
    #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
20.06.2004, 01:35:53
    #32568552
Johnmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Может Посоветуйте?
>Может Посоветуйте

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

...
Рейтинг: 0 / 0
20.06.2004, 11:52:52
    #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
20.06.2004, 12:57:51
    #32568646
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Может Посоветуйте?
а что, триггеры противоречат твоей коммунистической морали?
...
Рейтинг: 0 / 0
20.06.2004, 14:21:51
    #32568673
zerrowich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Может Посоветуйте?
Так советуйте делать insert в тригере?
...
Рейтинг: 0 / 0
20.06.2004, 16:16:46
    #32568719
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Может Посоветуйте?
нет.
в триггере можно сделать проверку на NULL
я так всегда делаю
...
Рейтинг: 0 / 0
20.06.2004, 18:19:32
    #32568745
zerrowich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Может Посоветуйте?
Но я и так вижу что там null хотя default 0 not null
Но как он null туда попал?
...
Рейтинг: 0 / 0
20.06.2004, 18:45:07
    #32568751
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Может Посоветуйте?
я не знаю как он туда попадает.
я просто предлагаю способ решить эту проблему
...
Рейтинг: 0 / 0
20.06.2004, 18:46:33
    #32568752
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Может Посоветуйте?
насчет проверки я имел в виду, что на всякий случай в триггере проверяй значение полей которые not null.
не известно кто в будущем будет вставлять эти записи и побеспокоится ли он о этих полях. поэтому если они вдруг перед вставкой оказываются null сделай их в то значение по умолчанию, которо ближе твоей совести
...
Рейтинг: 0 / 0
21.06.2004, 05:40:05
    #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
21.06.2004, 10:03:42
    #32569007
Johnmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Может Посоветуйте?
... а я бы ещё не советовал делать default численное значение для символьного поля...:)
...
Рейтинг: 0 / 0
21.06.2004, 16:25:35
    #32570069
zerrowich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Может Посоветуйте?
Насчет varchar в PK
если integer то 11 знаков уже не запишет, а код личности у нас 36205161178
так что integer не катит
...
Рейтинг: 0 / 0
21.06.2004, 16:37:41
    #32570101
olol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Может Посоветуйте?
zerrowich
...а код личности у нас 36205161178

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

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

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

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

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

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

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


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