Привет всем.
Гугл спрашивал, не нашел ответа. В FAQ смотрел, тоже не нашел ответа.
Я мигрирую с SQLite, может быть он позволяет себе лишнего.
Версия Firebird 2.5.
Хочу: Связать две таблицы по внешним ключам.
"AA" ссылается на "BB" , "BB" ссылается на "AA"
делаю:
Проблема: в первом операторе ругается что таблицы BB не существует. Sqlite это нормально обрабатывал.
Вопрос 1: Поддерживает ли Firebird такие связи?
Вопрос 2: Можно ли как-то сделать это внутри оператора CREATE TABLE и не городить ALTER TABLE на добавление ограничения внешнего ключа?
Вопрос 3: Каким способом это принято делать в Firebird ?
Гугл спрашивал, не нашел ответа. В FAQ смотрел, тоже не нашел ответа.
Я мигрирую с SQLite, может быть он позволяет себе лишнего.
Версия Firebird 2.5.
Хочу: Связать две таблицы по внешним ключам.
"AA" ссылается на "BB" , "BB" ссылается на "AA"
делаю:
CREATE TABLE AA ( aa_id integer NOT NULL PRIMARY KEY ,bb_id integer NOT NULL ,CONSTRAINT c_bb_id FOREIGN KEY(bb_id) REFERENCES bb(id) ON DELETE NO ACTION ) ; CREATE TABLE BB ( bb_id integer NOT NULL PRIMARY KEY ,aa_id integer NOT NULL ,CONSTRAINT c_aa_id FOREIGN KEY(aa_id) REFERENCES aa(id) ON DELETE NO ACTION ) ;
Проблема: в первом операторе ругается что таблицы BB не существует. Sqlite это нормально обрабатывал.
Вопрос 1: Поддерживает ли Firebird такие связи?
Вопрос 2: Можно ли как-то сделать это внутри оператора CREATE TABLE и не городить ALTER TABLE на добавление ограничения внешнего ключа?
Вопрос 3: Каким способом это принято делать в Firebird ?