Не могу разобраться с внешними ключами.

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
RSV
Сообщения: 8
Зарегистрирован: 09 окт 2005, 10:16

Не могу разобраться с внешними ключами.

Сообщение RSV » 09 окт 2005, 10:25

Код: Выделить всё

CREATE TABLE ClientS
(
	Id INTEGER NOT NULL,
	Name VARCHAR (20),

	PRIMARY KEY (Id)
);

CREATE TABLE Photo
(
	Id INTEGER NOT NULL,
	Photo BLOB sub_type 0 segment size 80,
	Client_Fk INTEGER NOT NULL,

	PRIMARY KEY (Id)
);

CREATE GENERATOR Photo_gen;
CREATE GENERATOR Client_gen;

ALTER TABLE Photo ADD CONSTRAINT fkPhoto FOREIGN KEY (Client_Fk)
REFERENCES ClientS (Id) ON DELETE CASCADE ON UPDATE CASCADE;
Ворос: Как заполнить поле Client_Fk из таблицы Photo
значением Id из таблицы Clients во время insert на сервере? Приложение для нескольких пользователей.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 09 окт 2005, 11:33

никак. значение client_fk надо указать явно при вставке записи в таблицу photo.

кстати, обычно on update cascade не пишут, потому что менять значение первичного ключа не принято.

Ответить