![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Insert into pokup (pok_name,pok_address,pok_city)
values('Иванов И.И.', 'Пушкинская 27 кв 1', 1) и попробуем удалить запись о городе Одесса из таблицы CITY. Мы получили сообщение о невозможности такой операции из-за ограничения по FOREIGN KEY: Рис.24 Нарушение ссылочной целостности Удалить город можно будет только тогда, когда в таблице покупателей не будет записей, связанных с этим городом. Настало время создания таблиц НАКЛАДНАЯ и ОТПУСК-ТОВАРА-СО-СКЛАДА. Создаем их с автоинкрементными Первичными ключами CREATE TABLE NAKL ( ID_NAKL INTEGER NOT NULL, NAKL_DATE DATE DEFAULT 'NOW' NOT NULL, POK_Id INTEGER NOT NULL, " POK_CREAT" VARCHAR(10) CHARACTER SET WIN1251 DEFAULT USER NOT NULL, " POK_TSTAMP" DATE DEFAULT 'NOW' NOT NULL, CONSTRAINT NAKL_PK PRIMARY KEY (" ID_NAKL") ); CREATE GENERATOR NAKL_GEN; COMMIT; SET GENERATOR NAKL_GEN TO 0; COMMIT; SET TERM!!; CREATE TRIGGER NAKL_ID_BI FOR NAKL BEFORE INSERT AS BEGIN NEW.ID_NAKL = GEN_ID(NAKL_GEN, 1); END!! SET TERM;!! ALTER TABLE NAKL ADD CONSTRAINT POKUP_NAKL_FK FOREIGN KEY (POK_ID) REFERENCES POKUP ON DELETE NO ACTION ON UPDATE NO ACTION; CREATE TABLE OTPUSK ( NAKL_ID INTEGER NOT NULL, TOV_ID INTEGER NOT NULL, " OTP_CREAT" VARCHAR(10) CHARACTER SET WIN1251 DEFAULT USER NOT NULL, " OTP_TSTAMP" DATE DEFAULT 'NOW' NOT NULL, CONSTRAINT OTP_PK PRIMARY KEY (NAKL_ID, TOV_ID) ); ALTER TABLE OTPUSK ADD CONSTRAINT NAKL_OTPUSK_FK FOREIGN KEY (NAKL_ID) REFERENCES NAKL ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE OTPUSK ADD CONSTRAINT TOV_OTPUSK_FK FOREIGN KEY (TOV_ID) REFERENCES TOVAR ON DELETE NO ACTION
|