ALTER TABLE FOOTS
ADD CONSTRAINT FOOTS_TYPE_MER_FOLDER_KEY
FOREIGN KEY TYPE_MER REFERENCES TYPE_MERS(ID);
COMMIT;
Изменение таблици в IB
Есть скрипт:
Код:
При выполнении он выдаёт ошибку, что элемент TYPE_MER не найден.
Скрипты таблиц
Код:
CREATE TABLE "FOOTS"
(
"ID" INTEGER NOT NULL,
"PRODUCT" INTEGER NOT NULL,
"CAPTION" VARCHAR(200),
"COUNT" INTEGER,
"TYPE_MER" INTEGER NOT NULL,
"HINT" BLOB SUB_TYPE TEXT SEGMENT SIZE 80,
CONSTRAINT "FOOTS_ID_PRIMARY_KEY" PRIMARY KEY ("ID")
);
(
"ID" INTEGER NOT NULL,
"PRODUCT" INTEGER NOT NULL,
"CAPTION" VARCHAR(200),
"COUNT" INTEGER,
"TYPE_MER" INTEGER NOT NULL,
"HINT" BLOB SUB_TYPE TEXT SEGMENT SIZE 80,
CONSTRAINT "FOOTS_ID_PRIMARY_KEY" PRIMARY KEY ("ID")
);
и
Код:
CREATE TABLE "TYPE_MERS"
(
"ID" INTEGER NOT NULL,
"CAPTION" VARCHAR(50) NOT NULL,
"HINT" BLOB SUB_TYPE TEXT SEGMENT SIZE 80,
CONSTRAINT "TYPE_MERS_CAPTION_UNIQUE" UNIQUE ("CAPTION"),
CONSTRAINT "TYPE_MERS_ID_PRIMARY_KEY" PRIMARY KEY ("ID")
);
(
"ID" INTEGER NOT NULL,
"CAPTION" VARCHAR(50) NOT NULL,
"HINT" BLOB SUB_TYPE TEXT SEGMENT SIZE 80,
CONSTRAINT "TYPE_MERS_CAPTION_UNIQUE" UNIQUE ("CAPTION"),
CONSTRAINT "TYPE_MERS_ID_PRIMARY_KEY" PRIMARY KEY ("ID")
);
Подскажите пожалуста, что у меня не так????
И еще вопрос, если кто работал с IB через Delphi, как НОРМАЛЬНО работать C BLOB полями?
У меня InterBase 6,5.
Код:
BEGIN TRANSACTION
ALTER TABLE Table1
ADD CONSTRAINT
FK_Table1_Table2 FOREIGN KEY(Table1ID) REFERENCES Table2(Table2ID)
GO
COMMIT
ALTER TABLE Table1
ADD CONSTRAINT
FK_Table1_Table2 FOREIGN KEY(Table1ID) REFERENCES Table2(Table2ID)
GO
COMMIT
Внешний ключ может состоять из нескольких полей, поэтому синтаксически его надо заключать в скобки.