Официальный сайт студ.городка НГТУ
Программирование и БД » [Проблема]Связь таблиц в OracleXE 

#1  17.12.07 21:45

[Проблема]Связь таблиц в OracleXE

Вообщем есть проблема со связью одной таблицы с другой.

Описание проблемы:
Есть таблица GORODA (ID_goroda, goroda)
и
таблица MARSHRUTI (ID_marshruta, ID_doroda_otp, ID_doroda_naz, Stoimostj_dostavki)

Так вот как мне связать при запросе в SQL-е ID_doroda_otp с ID_goroda????????

Написала запрос:

select g.doroda_otp
from marshruti m
inner join doroda_otp g
on (m.id_doroda_otp=g.id_goroda)


а он мне выдает ошибку:

ORA-00942: table or view does not exist


При этом в ERWIN-е ключи ID_doroda_otp, ID_doroda_naz не появились, только ID_goroda, связь необязательная.

Может я что-то делаю не так!!! Я не знаю. Подскажите пожалуйста, где ошибка. Парюсь над этой проблемой уже с неделю.

Offline

#2  17.12.07 21:57

Re: [Проблема]Связь таблиц в OracleXE

doroda_otp таблица точног есть такая?:)

Offline

#3  17.12.07 22:01

Re: [Проблема]Связь таблиц в OracleXE

Да, я в ERWIN-е еще так написала, ошиблась, она есть точно.

Offline

#4  17.12.07 23:44

Re: [Проблема]Связь таблиц в OracleXE

Перед именем таблицы надо указать имя пользователя под которым зашла в Oracle. Например MASHA:

select g.doroda_otp
from MASHA.marshruti m
inner join MASHA.doroga_otp g
on (m.id_doroga_otp=g.id_goroga)

Offline

#5  17.12.07 23:47

Re: [Проблема]Связь таблиц в OracleXE

ОШИБКА
ORA-00942: table or view does not exist

Исправлено LuckyLove (17.12.07 23:51)

Offline

#6  18.12.07 14:05

Re: [Проблема]Связь таблиц в OracleXE

Проверь, есть ли таблица в базе, например, таким запросом:

SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE='TABLE'

Исправлено samael (18.12.07 14:06)

Offline

#7  18.12.07 16:37

Re: [Проблема]Связь таблиц в OracleXE

LuckyLove написал(а):

ORA-00942: table or view does not exist

Он ругается, что не может найти таблицу, к которой ты обращаешься.... просмотри внимательно: скорее всего гдето не тот символ стоит.... т.е. проверь идентичны ли название табл-ы, которая создана и назв-е табл-ы которое прописано у тебя в запросе...
Часто такая ошибка вознакивет по невимательности.

Offline

#8  18.12.07 16:41

Re: [Проблема]Связь таблиц в OracleXE

не уверен на 100% , но помоему:
ID_doroda_otp НЕ РАВНО id_doroda_otp

И кстати, ты используешь "города" и "дорода", это так задумано? )))

Offline

#9  18.12.07 17:34

Re: [Проблема]Связь таблиц в OracleXE

/7ельмень, Да, я в ERWIN-е еще так написала, ошиблась, она есть точно

Offline

#10  18.12.07 17:39

Re: [Проблема]Связь таблиц в OracleXE

хиии если ругается что нет таблицы значит ее нет.Не проще просто заново запустить скрипт создания таблицы.Там уж ясно есть она или нет.

Offline

#11  18.12.07 17:42

Re: [Проблема]Связь таблиц в OracleXE

/7ельмень написал(а):

ID_doroda_otp НЕ РАВНО id_doroda_otp

вроде тоже оракл восприимчев к регистру.

Offline

#12  18.12.07 17:42

Re: [Проблема]Связь таблиц в OracleXE

Вам скрипт скинуть?! Вы только попросите, мне не сложно. В скрипте все нормально. Единственная проблема описана с посте 1!!!!!!!!

Исправлено LuckyLove (18.12.07 17:54)

Offline

#13  18.12.07 17:43

Re: [Проблема]Связь таблиц в OracleXE

сейчас проверю

Offline

#14  18.12.07 17:45

Re: [Проблема]Связь таблиц в OracleXE

Unclead, если так все на самом деле

вроде тоже оракл восприимчев к регистру

то я буду смеяться до потери пульса, ибо я ломаю голову уже с неделю.

Offline

#15  18.12.07 17:48

Re: [Проблема]Связь таблиц в OracleXE

LuckyLove, кинь скрипты свои мож что подскажем))

Offline

#16  18.12.07 17:48

Re: [Проблема]Связь таблиц в OracleXE

Увы, но смеяться пока что мне рано. Ему пофиг на регистр

Offline

#17  18.12.07 17:49

Re: [Проблема]Связь таблиц в OracleXE

скрипт

Код::

CREATE TABLE BANKI (
       ID_banka             INTEGER NOT NULL,
       Name_bank            VARCHAR2(70) NULL,
       INN                  INTEGER NULL,
       Raschetnij_schet     VARCHAR2(40) NULL,
       ID_goroda            INTEGER NULL
);

CREATE UNIQUE INDEX XPKBANKI ON BANKI
(
       ID_banka                       ASC
);


ALTER TABLE BANKI
       ADD  ( PRIMARY KEY (ID_banka) ) ;


CREATE TABLE DOLZHNOSTI (
       ID_dolzhnosti        INTEGER NOT NULL,
       Dolzhnostj           VARCHAR2(40) NULL,
       Oklad                INTEGER NULL
);

CREATE UNIQUE INDEX XPKDOLZHNOSTI ON DOLZHNOSTI
(
       ID_dolzhnosti                  ASC
);


ALTER TABLE DOLZHNOSTI
       ADD  ( PRIMARY KEY (ID_dolzhnosti) ) ;


CREATE TABLE GORODA (
       ID_goroda            INTEGER NOT NULL,
       Nazvanie             VARCHAR2(50) NOT NULL
);

CREATE UNIQUE INDEX XPKGORODA ON GORODA
(
       ID_goroda                      ASC
);


ALTER TABLE GORODA
       ADD  ( PRIMARY KEY (ID_goroda) ) ;


CREATE TABLE KLIENTI (
       ID_klienta           INTEGER NOT NULL,
       Firma_klient         VARCHAR2(70) NULL,
       Indeks               INTEGER NULL,
       Number_doma          VARCHAR2(12) NULL,
       Number_ofisa         VARCHAR2(8) NULL,
       Telefon              INTEGER NULL,
       Faks                 INTEGER NULL,
       E_mail               VARCHAR2(60) NULL,
       Number_dogovora      VARCHAR2(40) NULL,
       ID_personal_skidki   INTEGER NULL,
       ID_goroda            INTEGER NULL,
       ID_ylici             INTEGER NULL,
       ID_banka             INTEGER NULL
);

CREATE UNIQUE INDEX XPKKLIENTI ON KLIENTI
(
       ID_klienta                     ASC
);


ALTER TABLE KLIENTI
       ADD  ( PRIMARY KEY (ID_klienta) ) ;


CREATE TABLE MARSHRUTI (
       ID_marshruta         INTEGER NOT NULL,
       ID_doroda_otpravlenija INTEGER NULL,
       ID_doroda_naznachenija INTEGER NULL,
       Stoimost_dostavki    INTEGER NULL,
       Z_d_tarif            INTEGER NULL,
       ID_goroda            INTEGER NULL
);

CREATE UNIQUE INDEX XPKMARSHRUTI ON MARSHRUTI
(
       ID_marshruta                   ASC
);


ALTER TABLE MARSHRUTI
       ADD  ( PRIMARY KEY (ID_marshruta) ) ;


CREATE TABLE PEREMESCHENIJA (
       ID_sotrudnika        INTEGER NOT NULL,
       Data_prikaza         DATE NULL,
       Nomer_prikaza        VARCHAR2(50) NULL,
       ID_dolzhnosti        INTEGER NULL,
       ID_sotrudnica        INTEGER NULL,
       ID_prichini_perevoda INTEGER NULL
);

CREATE UNIQUE INDEX XPKPEREMESCHENIJA ON PEREMESCHENIJA
(
       ID_sotrudnika                  ASC
);


ALTER TABLE PEREMESCHENIJA
       ADD  ( PRIMARY KEY (ID_sotrudnika) ) ;


CREATE TABLE PERSONAL_SKIDKI (
       ID_personal_skidki   INTEGER NOT NULL,
       Skidki               VARCHAR2(20) NULL
);

CREATE UNIQUE INDEX XPKPERSONAL_SKIDKI ON PERSONAL_SKIDKI
(
       ID_personal_skidki             ASC
);


ALTER TABLE PERSONAL_SKIDKI
       ADD  ( PRIMARY KEY (ID_personal_skidki) ) ;


CREATE TABLE PRICHINI_PEREVODA (
       ID_prichini_perevoda INTEGER NOT NULL,
       Opisanie             VARCHAR2(300) NULL
);

CREATE UNIQUE INDEX XPKPRICHINI_PEREVODA ON PRICHINI_PEREVODA
(
       ID_prichini_perevoda           ASC
);


ALTER TABLE PRICHINI_PEREVODA
       ADD  ( PRIMARY KEY (ID_prichini_perevoda) ) ;


CREATE TABLE SOTRUDNIKI (
       ID_sotrudnica        INTEGER NOT NULL,
       Familija             VARCHAR2(40) NULL,
       Name                 VARCHAR2(40) NULL,
       Otchestvo            VARCHAR2(40) NULL,
       Indeks               INTEGER NULL,
       Nomer_doma           VARCHAR2(12) NULL,
       Nomer_kvartiri       VARCHAR2(8) NULL,
       Data_rozhdeniya      DATE NULL,
       ID_ylici             INTEGER NULL,
       ID_dolzhnosti        INTEGER NULL
);

CREATE UNIQUE INDEX XPKSOTRUDNIKI ON SOTRUDNIKI
(
       ID_sotrudnica                  ASC
);


ALTER TABLE SOTRUDNIKI
       ADD  ( PRIMARY KEY (ID_sotrudnica) ) ;


CREATE TABLE SPISKI_MEST (
       ID_spiska_mesta      INTEGER NOT NULL,
       Nomer_mesta          INTEGER NULL,
       Dlina                INTEGER NULL,
       Shirina              INTEGER NULL,
       Ves                  INTEGER NULL,
       Visota               INTEGER NULL,
       Straxovaja_stoimostj INTEGER NULL,
       ID_xarakteristiki_gruza INTEGER NULL
);

CREATE UNIQUE INDEX XPKSPISKI_MEST ON SPISKI_MEST
(
       ID_spiska_mesta                ASC
);


ALTER TABLE SPISKI_MEST
       ADD  ( PRIMARY KEY (ID_spiska_mesta) ) ;


CREATE TABLE XARAKTERISTIKI_GRUZA (
       ID_xarakteristiki_gruza INTEGER NOT NULL,
       Xarakteristika       VARCHAR2(250) NULL
);

CREATE UNIQUE INDEX XPKXARAKTERISTIKI_GRUZA ON XARAKTERISTIKI_GRUZA
(
       ID_xarakteristiki_gruza        ASC
);


ALTER TABLE XARAKTERISTIKI_GRUZA
       ADD  ( PRIMARY KEY (ID_xarakteristiki_gruza) ) ;


CREATE TABLE YLICI (
       ID_ylici             INTEGER NOT NULL,
       Ylici                VARCHAR2(50) NULL
);

CREATE UNIQUE INDEX XPKYLICI ON YLICI
(
       ID_ylici                       ASC
);


ALTER TABLE YLICI
       ADD  ( PRIMARY KEY (ID_ylici) ) ;


CREATE TABLE ZAJAVKI (
       ID_zajavki           INTEGER NOT NULL,
       Chetchik_zakazov     INTEGER NULL,
       Data_zakaza          DATE NULL,
       Time_zakaza          DATE NULL,
       Nomer_poezda         INTEGER NULL,
       Nomer_vagona         INTEGER NULL,
       Strana_proisxozhdenija VARCHAR2(50) NULL,
       Data_otpravlenija    DATE NULL,
       Data_pribitija       DATE NULL,
       Nomer_schet_fakturi  VARCHAR2(50) NULL,
       ID_sotrudnica        INTEGER NULL,
       ID_spiska_mesta      INTEGER NULL,
       ID_klienta           INTEGER NULL,
       ID_marshruta         INTEGER NULL
);

CREATE UNIQUE INDEX XPKZAJAVKI ON ZAJAVKI
(
       ID_zajavki                     ASC
);


ALTER TABLE ZAJAVKI
       ADD  ( PRIMARY KEY (ID_zajavki) ) ;


ALTER TABLE BANKI
       ADD  ( FOREIGN KEY (ID_goroda)
                             REFERENCES GORODA
                             ON DELETE SET NULL ) ;


ALTER TABLE KLIENTI
       ADD  ( FOREIGN KEY (ID_banka)
                             REFERENCES BANKI
                             ON DELETE SET NULL ) ;


ALTER TABLE KLIENTI
       ADD  ( FOREIGN KEY (ID_ylici)
                             REFERENCES YLICI
                             ON DELETE SET NULL ) ;


ALTER TABLE KLIENTI
       ADD  ( FOREIGN KEY (ID_goroda)
                             REFERENCES GORODA
                             ON DELETE SET NULL ) ;


ALTER TABLE KLIENTI
       ADD  ( FOREIGN KEY (ID_personal_skidki)
                             REFERENCES PERSONAL_SKIDKI
                             ON DELETE SET NULL ) ;


ALTER TABLE MARSHRUTI
       ADD  ( FOREIGN KEY (ID_goroda)
                             REFERENCES GORODA
                             ON DELETE SET NULL ) ;


ALTER TABLE MARSHRUTI
       ADD  ( FOREIGN KEY (ID_goroda)
                             REFERENCES GORODA
                             ON DELETE SET NULL ) ;


ALTER TABLE PEREMESCHENIJA
       ADD  ( FOREIGN KEY (ID_prichini_perevoda)
                             REFERENCES PRICHINI_PEREVODA
                             ON DELETE SET NULL ) ;


ALTER TABLE PEREMESCHENIJA
       ADD  ( FOREIGN KEY (ID_sotrudnica)
                             REFERENCES SOTRUDNIKI
                             ON DELETE SET NULL ) ;


ALTER TABLE PEREMESCHENIJA
       ADD  ( FOREIGN KEY (ID_dolzhnosti)
                             REFERENCES DOLZHNOSTI
                             ON DELETE SET NULL ) ;


ALTER TABLE SOTRUDNIKI
       ADD  ( FOREIGN KEY (ID_dolzhnosti)
                             REFERENCES DOLZHNOSTI
                             ON DELETE SET NULL ) ;


ALTER TABLE SOTRUDNIKI
       ADD  ( FOREIGN KEY (ID_ylici)
                             REFERENCES YLICI
                             ON DELETE SET NULL ) ;


ALTER TABLE SPISKI_MEST
       ADD  ( FOREIGN KEY (ID_xarakteristiki_gruza)
                             REFERENCES XARAKTERISTIKI_GRUZA
                             ON DELETE SET NULL ) ;


ALTER TABLE ZAJAVKI
       ADD  ( FOREIGN KEY (ID_marshruta)
                             REFERENCES MARSHRUTI
                             ON DELETE SET NULL ) ;


ALTER TABLE ZAJAVKI
       ADD  ( FOREIGN KEY (ID_sotrudnica)
                             REFERENCES SOTRUDNIKI
                             ON DELETE SET NULL ) ;


ALTER TABLE ZAJAVKI
       ADD  ( FOREIGN KEY (ID_spiska_mesta)
                             REFERENCES SPISKI_MEST
                             ON DELETE SET NULL ) ;


ALTER TABLE ZAJAVKI
       ADD  ( FOREIGN KEY (ID_klienta)
                             REFERENCES KLIENTI
                             ON DELETE SET NULL ) ;




create trigger tD_BANKI after DELETE on BANKI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- DELETE trigger on BANKI 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* BANKI R/112 KLIENTI ON PARENT DELETE SET NULL */
    update KLIENTI
      set
        /* KLIENTI.ID_banka = NULL */
        KLIENTI.ID_banka = NULL
      where
        /* KLIENTI.ID_banka = :old.ID_banka */
        KLIENTI.ID_banka = :old.ID_banka;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tI_BANKI after INSERT on BANKI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- INSERT trigger on BANKI 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* GORODA R/109 BANKI ON CHILD INSERT SET NULL */
    update BANKI
      set
        /* BANKI.ID_goroda = NULL */
        BANKI.ID_goroda = NULL
      where
        not exists (
          select * from GORODA
            where
              /* :new.ID_goroda = GORODA.ID_goroda */
              :new.ID_goroda = GORODA.ID_goroda
        ) 
        /*  and BANKI.ID_banka = :new.ID_banka */
         and BANKI.ID_banka = :new.ID_banka;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tU_BANKI after UPDATE on BANKI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- UPDATE trigger on BANKI 
declare numrows INTEGER;
begin
  /* BANKI R/112 KLIENTI ON PARENT UPDATE SET NULL */
  if
    /* :old.ID_banka <> :new.ID_banka */
    :old.ID_banka <> :new.ID_banka
  then
    update KLIENTI
      set
        /* KLIENTI.ID_banka = NULL */
        KLIENTI.ID_banka = NULL
      where
        /* KLIENTI.ID_banka = :old.ID_banka */
        KLIENTI.ID_banka = :old.ID_banka;
  end if;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* GORODA R/109 BANKI ON CHILD UPDATE SET NULL */
    update BANKI
      set
        /* BANKI.ID_goroda = NULL */
        BANKI.ID_goroda = NULL
      where
        not exists (
          select * from GORODA
            where
              /* :new.ID_goroda = GORODA.ID_goroda */
              :new.ID_goroda = GORODA.ID_goroda
        ) 
        /*  and BANKI.ID_banka = :new.ID_banka */
         and BANKI.ID_banka = :new.ID_banka;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tD_DOLZHNOSTI after DELETE on DOLZHNOSTI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- DELETE trigger on DOLZHNOSTI 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* DOLZHNOSTI R/11 SOTRUDNIKI ON PARENT DELETE SET NULL */
    update SOTRUDNIKI
      set
        /* SOTRUDNIKI.ID_dolzhnosti = NULL */
        SOTRUDNIKI.ID_dolzhnosti = NULL
      where
        /* SOTRUDNIKI.ID_dolzhnosti = :old.ID_dolzhnosti */
        SOTRUDNIKI.ID_dolzhnosti = :old.ID_dolzhnosti;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* DOLZHNOSTI R/100 PEREMESCHENIJA ON PARENT DELETE SET NULL */
    update PEREMESCHENIJA
      set
        /* PEREMESCHENIJA.ID_dolzhnosti = NULL */
        PEREMESCHENIJA.ID_dolzhnosti = NULL
      where
        /* PEREMESCHENIJA.ID_dolzhnosti = :old.ID_dolzhnosti */
        PEREMESCHENIJA.ID_dolzhnosti = :old.ID_dolzhnosti;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tU_DOLZHNOSTI after UPDATE on DOLZHNOSTI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- UPDATE trigger on DOLZHNOSTI 
declare numrows INTEGER;
begin
  /* DOLZHNOSTI R/11 SOTRUDNIKI ON PARENT UPDATE SET NULL */
  if
    /* :old.ID_dolzhnosti <> :new.ID_dolzhnosti */
    :old.ID_dolzhnosti <> :new.ID_dolzhnosti
  then
    update SOTRUDNIKI
      set
        /* SOTRUDNIKI.ID_dolzhnosti = NULL */
        SOTRUDNIKI.ID_dolzhnosti = NULL
      where
        /* SOTRUDNIKI.ID_dolzhnosti = :old.ID_dolzhnosti */
        SOTRUDNIKI.ID_dolzhnosti = :old.ID_dolzhnosti;
  end if;

  /* DOLZHNOSTI R/100 PEREMESCHENIJA ON PARENT UPDATE SET NULL */
  if
    /* :old.ID_dolzhnosti <> :new.ID_dolzhnosti */
    :old.ID_dolzhnosti <> :new.ID_dolzhnosti
  then
    update PEREMESCHENIJA
      set
        /* PEREMESCHENIJA.ID_dolzhnosti = NULL */
        PEREMESCHENIJA.ID_dolzhnosti = NULL
      where
        /* PEREMESCHENIJA.ID_dolzhnosti = :old.ID_dolzhnosti */
        PEREMESCHENIJA.ID_dolzhnosti = :old.ID_dolzhnosti;
  end if;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tD_GORODA after DELETE on GORODA for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- DELETE trigger on GORODA 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* GORODA R/3 MARSHRUTI ON PARENT DELETE SET NULL */
    update MARSHRUTI
      set
        /* MARSHRUTI.ID_goroda = NULL */
        MARSHRUTI.ID_goroda = NULL
      where
        /* MARSHRUTI.ID_goroda = :old.ID_goroda */
        MARSHRUTI.ID_goroda = :old.ID_goroda;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* GORODA R/2 MARSHRUTI ON PARENT DELETE SET NULL */
    update MARSHRUTI
      set
        /* MARSHRUTI.ID_goroda = NULL */
        MARSHRUTI.ID_goroda = NULL
      where
        /* MARSHRUTI.ID_goroda = :old.ID_goroda */
        MARSHRUTI.ID_goroda = :old.ID_goroda;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* GORODA R/110 KLIENTI ON PARENT DELETE SET NULL */
    update KLIENTI
      set
        /* KLIENTI.ID_goroda = NULL */
        KLIENTI.ID_goroda = NULL
      where
        /* KLIENTI.ID_goroda = :old.ID_goroda */
        KLIENTI.ID_goroda = :old.ID_goroda;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* GORODA R/109 BANKI ON PARENT DELETE SET NULL */
    update BANKI
      set
        /* BANKI.ID_goroda = NULL */
        BANKI.ID_goroda = NULL
      where
        /* BANKI.ID_goroda = :old.ID_goroda */
        BANKI.ID_goroda = :old.ID_goroda;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tU_GORODA after UPDATE on GORODA for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- UPDATE trigger on GORODA 
declare numrows INTEGER;
begin
  /* GORODA R/3 MARSHRUTI ON PARENT UPDATE SET NULL */
  if
    /* :old.ID_goroda <> :new.ID_goroda */
    :old.ID_goroda <> :new.ID_goroda
  then
    update MARSHRUTI
      set
        /* MARSHRUTI.ID_goroda = NULL */
        MARSHRUTI.ID_goroda = NULL
      where
        /* MARSHRUTI.ID_goroda = :old.ID_goroda */
        MARSHRUTI.ID_goroda = :old.ID_goroda;
  end if;

  /* GORODA R/2 MARSHRUTI ON PARENT UPDATE SET NULL */
  if
    /* :old.ID_goroda <> :new.ID_goroda */
    :old.ID_goroda <> :new.ID_goroda
  then
    update MARSHRUTI
      set
        /* MARSHRUTI.ID_goroda = NULL */
        MARSHRUTI.ID_goroda = NULL
      where
        /* MARSHRUTI.ID_goroda = :old.ID_goroda */
        MARSHRUTI.ID_goroda = :old.ID_goroda;
  end if;

  /* GORODA R/110 KLIENTI ON PARENT UPDATE SET NULL */
  if
    /* :old.ID_goroda <> :new.ID_goroda */
    :old.ID_goroda <> :new.ID_goroda
  then
    update KLIENTI
      set
        /* KLIENTI.ID_goroda = NULL */
        KLIENTI.ID_goroda = NULL
      where
        /* KLIENTI.ID_goroda = :old.ID_goroda */
        KLIENTI.ID_goroda = :old.ID_goroda;
  end if;

  /* GORODA R/109 BANKI ON PARENT UPDATE SET NULL */
  if
    /* :old.ID_goroda <> :new.ID_goroda */
    :old.ID_goroda <> :new.ID_goroda
  then
    update BANKI
      set
        /* BANKI.ID_goroda = NULL */
        BANKI.ID_goroda = NULL
      where
        /* BANKI.ID_goroda = :old.ID_goroda */
        BANKI.ID_goroda = :old.ID_goroda;
  end if;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tD_KLIENTI after DELETE on KLIENTI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- DELETE trigger on KLIENTI 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* KLIENTI R/1 ZAJAVKI ON PARENT DELETE SET NULL */
    update ZAJAVKI
      set
        /* ZAJAVKI.ID_klienta = NULL */
        ZAJAVKI.ID_klienta = NULL
      where
        /* ZAJAVKI.ID_klienta = :old.ID_klienta */
        ZAJAVKI.ID_klienta = :old.ID_klienta;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tI_KLIENTI after INSERT on KLIENTI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- INSERT trigger on KLIENTI 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* BANKI R/112 KLIENTI ON CHILD INSERT SET NULL */
    update KLIENTI
      set
        /* KLIENTI.ID_banka = NULL */
        KLIENTI.ID_banka = NULL
      where
        not exists (
          select * from BANKI
            where
              /* :new.ID_banka = BANKI.ID_banka */
              :new.ID_banka = BANKI.ID_banka
        ) 
        /*  and KLIENTI.ID_klienta = :new.ID_klienta */
         and KLIENTI.ID_klienta = :new.ID_klienta;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* YLICI R/111 KLIENTI ON CHILD INSERT SET NULL */
    update KLIENTI
      set
        /* KLIENTI.ID_ylici = NULL */
        KLIENTI.ID_ylici = NULL
      where
        not exists (
          select * from YLICI
            where
              /* :new.ID_ylici = YLICI.ID_ylici */
              :new.ID_ylici = YLICI.ID_ylici
        ) 
        /*  and KLIENTI.ID_klienta = :new.ID_klienta */
         and KLIENTI.ID_klienta = :new.ID_klienta;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* GORODA R/110 KLIENTI ON CHILD INSERT SET NULL */
    update KLIENTI
      set
        /* KLIENTI.ID_goroda = NULL */
        KLIENTI.ID_goroda = NULL
      where
        not exists (
          select * from GORODA
            where
              /* :new.ID_goroda = GORODA.ID_goroda */
              :new.ID_goroda = GORODA.ID_goroda
        ) 
        /*  and KLIENTI.ID_klienta = :new.ID_klienta */
         and KLIENTI.ID_klienta = :new.ID_klienta;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* PERSONAL_SKIDKI R/106 KLIENTI ON CHILD INSERT SET NULL */
    update KLIENTI
      set
        /* KLIENTI.ID_personal_skidki = NULL */
        KLIENTI.ID_personal_skidki = NULL
      where
        not exists (
          select * from PERSONAL_SKIDKI
            where
              /* :new.ID_personal_skidki = PERSONAL_SKIDKI.ID_personal_skidki */
              :new.ID_personal_skidki = PERSONAL_SKIDKI.ID_personal_skidki
        ) 
        /*  and KLIENTI.ID_klienta = :new.ID_klienta */
         and KLIENTI.ID_klienta = :new.ID_klienta;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tU_KLIENTI after UPDATE on KLIENTI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- UPDATE trigger on KLIENTI 
declare numrows INTEGER;
begin
  /* KLIENTI R/1 ZAJAVKI ON PARENT UPDATE SET NULL */
  if
    /* :old.ID_klienta <> :new.ID_klienta */
    :old.ID_klienta <> :new.ID_klienta
  then
    update ZAJAVKI
      set
        /* ZAJAVKI.ID_klienta = NULL */
        ZAJAVKI.ID_klienta = NULL
      where
        /* ZAJAVKI.ID_klienta = :old.ID_klienta */
        ZAJAVKI.ID_klienta = :old.ID_klienta;
  end if;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* BANKI R/112 KLIENTI ON CHILD UPDATE SET NULL */
    update KLIENTI
      set
        /* KLIENTI.ID_banka = NULL */
        KLIENTI.ID_banka = NULL
      where
        not exists (
          select * from BANKI
            where
              /* :new.ID_banka = BANKI.ID_banka */
              :new.ID_banka = BANKI.ID_banka
        ) 
        /*  and KLIENTI.ID_klienta = :new.ID_klienta */
         and KLIENTI.ID_klienta = :new.ID_klienta;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* YLICI R/111 KLIENTI ON CHILD UPDATE SET NULL */
    update KLIENTI
      set
        /* KLIENTI.ID_ylici = NULL */
        KLIENTI.ID_ylici = NULL
      where
        not exists (
          select * from YLICI
            where
              /* :new.ID_ylici = YLICI.ID_ylici */
              :new.ID_ylici = YLICI.ID_ylici
        ) 
        /*  and KLIENTI.ID_klienta = :new.ID_klienta */
         and KLIENTI.ID_klienta = :new.ID_klienta;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* GORODA R/110 KLIENTI ON CHILD UPDATE SET NULL */
    update KLIENTI
      set
        /* KLIENTI.ID_goroda = NULL */
        KLIENTI.ID_goroda = NULL
      where
        not exists (
          select * from GORODA
            where
              /* :new.ID_goroda = GORODA.ID_goroda */
              :new.ID_goroda = GORODA.ID_goroda
        ) 
        /*  and KLIENTI.ID_klienta = :new.ID_klienta */
         and KLIENTI.ID_klienta = :new.ID_klienta;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* PERSONAL_SKIDKI R/106 KLIENTI ON CHILD UPDATE SET NULL */
    update KLIENTI
      set
        /* KLIENTI.ID_personal_skidki = NULL */
        KLIENTI.ID_personal_skidki = NULL
      where
        not exists (
          select * from PERSONAL_SKIDKI
            where
              /* :new.ID_personal_skidki = PERSONAL_SKIDKI.ID_personal_skidki */
              :new.ID_personal_skidki = PERSONAL_SKIDKI.ID_personal_skidki
        ) 
        /*  and KLIENTI.ID_klienta = :new.ID_klienta */
         and KLIENTI.ID_klienta = :new.ID_klienta;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tD_MARSHRUTI after DELETE on MARSHRUTI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- DELETE trigger on MARSHRUTI 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* MARSHRUTI R/1 ZAJAVKI ON PARENT DELETE SET NULL */
    update ZAJAVKI
      set
        /* ZAJAVKI.ID_marshruta = NULL */
        ZAJAVKI.ID_marshruta = NULL
      where
        /* ZAJAVKI.ID_marshruta = :old.ID_marshruta */
        ZAJAVKI.ID_marshruta = :old.ID_marshruta;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tI_MARSHRUTI after INSERT on MARSHRUTI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- INSERT trigger on MARSHRUTI 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* GORODA R/3 MARSHRUTI ON CHILD INSERT SET NULL */
    update MARSHRUTI
      set
        /* MARSHRUTI.ID_goroda = NULL */
        MARSHRUTI.ID_goroda = NULL
      where
        not exists (
          select * from GORODA
            where
              /* :new.ID_goroda = GORODA.ID_goroda */
              :new.ID_goroda = GORODA.ID_goroda
        ) 
        /*  and MARSHRUTI.ID_marshruta = :new.ID_marshruta */
         and MARSHRUTI.ID_marshruta = :new.ID_marshruta;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* GORODA R/2 MARSHRUTI ON CHILD INSERT SET NULL */
    update MARSHRUTI
      set
        /* MARSHRUTI.ID_goroda = NULL */
        MARSHRUTI.ID_goroda = NULL
      where
        not exists (
          select * from GORODA
            where
              /* :new.ID_goroda = GORODA.ID_goroda */
              :new.ID_goroda = GORODA.ID_goroda
        ) 
        /*  and MARSHRUTI.ID_marshruta = :new.ID_marshruta */
         and MARSHRUTI.ID_marshruta = :new.ID_marshruta;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tU_MARSHRUTI after UPDATE on MARSHRUTI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- UPDATE trigger on MARSHRUTI 
declare numrows INTEGER;
begin
  /* MARSHRUTI R/1 ZAJAVKI ON PARENT UPDATE SET NULL */
  if
    /* :old.ID_marshruta <> :new.ID_marshruta */
    :old.ID_marshruta <> :new.ID_marshruta
  then
    update ZAJAVKI
      set
        /* ZAJAVKI.ID_marshruta = NULL */
        ZAJAVKI.ID_marshruta = NULL
      where
        /* ZAJAVKI.ID_marshruta = :old.ID_marshruta */
        ZAJAVKI.ID_marshruta = :old.ID_marshruta;
  end if;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* GORODA R/3 MARSHRUTI ON CHILD UPDATE SET NULL */
    update MARSHRUTI
      set
        /* MARSHRUTI.ID_goroda = NULL */
        MARSHRUTI.ID_goroda = NULL
      where
        not exists (
          select * from GORODA
            where
              /* :new.ID_goroda = GORODA.ID_goroda */
              :new.ID_goroda = GORODA.ID_goroda
        ) 
        /*  and MARSHRUTI.ID_marshruta = :new.ID_marshruta */
         and MARSHRUTI.ID_marshruta = :new.ID_marshruta;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* GORODA R/2 MARSHRUTI ON CHILD UPDATE SET NULL */
    update MARSHRUTI
      set
        /* MARSHRUTI.ID_goroda = NULL */
        MARSHRUTI.ID_goroda = NULL
      where
        not exists (
          select * from GORODA
            where
              /* :new.ID_goroda = GORODA.ID_goroda */
              :new.ID_goroda = GORODA.ID_goroda
        ) 
        /*  and MARSHRUTI.ID_marshruta = :new.ID_marshruta */
         and MARSHRUTI.ID_marshruta = :new.ID_marshruta;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tI_PEREMESCHENIJA after INSERT on PEREMESCHENIJA for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- INSERT trigger on PEREMESCHENIJA 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* PRICHINI_PEREVODA R/13 PEREMESCHENIJA ON CHILD INSERT SET NULL */
    update PEREMESCHENIJA
      set
        /* PEREMESCHENIJA.ID_prichini_perevoda = NULL */
        PEREMESCHENIJA.ID_prichini_perevoda = NULL
      where
        not exists (
          select * from PRICHINI_PEREVODA
            where
              /* :new.ID_prichini_perevoda = PRICHINI_PEREVODA.ID_prichini_perevoda */
              :new.ID_prichini_perevoda = PRICHINI_PEREVODA.ID_prichini_perevoda
        ) 
        /*  and PEREMESCHENIJA.ID_prichini_perevoda = :new.ID_prichini_perevoda */
         and PEREMESCHENIJA.ID_sotrudnika = :new.ID_sotrudnika;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* SOTRUDNIKI R/12 PEREMESCHENIJA ON CHILD INSERT SET NULL */
    update PEREMESCHENIJA
      set
        /* PEREMESCHENIJA.ID_sotrudnica = NULL */
        PEREMESCHENIJA.ID_sotrudnica = NULL
      where
        not exists (
          select * from SOTRUDNIKI
            where
              /* :new.ID_sotrudnica = SOTRUDNIKI.ID_sotrudnica */
              :new.ID_sotrudnica = SOTRUDNIKI.ID_sotrudnica
        ) 
        /*  and PEREMESCHENIJA.ID_sotrudnica = :new.ID_sotrudnica */
         and PEREMESCHENIJA.ID_sotrudnika = :new.ID_sotrudnika;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* DOLZHNOSTI R/100 PEREMESCHENIJA ON CHILD INSERT SET NULL */
    update PEREMESCHENIJA
      set
        /* PEREMESCHENIJA.ID_dolzhnosti = NULL */
        PEREMESCHENIJA.ID_dolzhnosti = NULL
      where
        not exists (
          select * from DOLZHNOSTI
            where
              /* :new.ID_dolzhnosti = DOLZHNOSTI.ID_dolzhnosti */
              :new.ID_dolzhnosti = DOLZHNOSTI.ID_dolzhnosti
        ) 
        /*  and PEREMESCHENIJA.ID_dolzhnosti = :new.ID_dolzhnosti */
         and PEREMESCHENIJA.ID_sotrudnika = :new.ID_sotrudnika;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tU_PEREMESCHENIJA after UPDATE on PEREMESCHENIJA for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- UPDATE trigger on PEREMESCHENIJA 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* PRICHINI_PEREVODA R/13 PEREMESCHENIJA ON CHILD UPDATE SET NULL */
    update PEREMESCHENIJA
      set
        /* PEREMESCHENIJA.ID_prichini_perevoda = NULL */
        PEREMESCHENIJA.ID_prichini_perevoda = NULL
      where
        not exists (
          select * from PRICHINI_PEREVODA
            where
              /* :new.ID_prichini_perevoda = PRICHINI_PEREVODA.ID_prichini_perevoda */
              :new.ID_prichini_perevoda = PRICHINI_PEREVODA.ID_prichini_perevoda
        ) 
        /*  and PEREMESCHENIJA.ID_prichini_perevoda = :new.ID_prichini_perevoda */
         and PEREMESCHENIJA.ID_sotrudnika = :new.ID_sotrudnika;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* SOTRUDNIKI R/12 PEREMESCHENIJA ON CHILD UPDATE SET NULL */
    update PEREMESCHENIJA
      set
        /* PEREMESCHENIJA.ID_sotrudnica = NULL */
        PEREMESCHENIJA.ID_sotrudnica = NULL
      where
        not exists (
          select * from SOTRUDNIKI
            where
              /* :new.ID_sotrudnica = SOTRUDNIKI.ID_sotrudnica */
              :new.ID_sotrudnica = SOTRUDNIKI.ID_sotrudnica
        ) 
        /*  and PEREMESCHENIJA.ID_sotrudnica = :new.ID_sotrudnica */
         and PEREMESCHENIJA.ID_sotrudnika = :new.ID_sotrudnika;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* DOLZHNOSTI R/100 PEREMESCHENIJA ON CHILD UPDATE SET NULL */
    update PEREMESCHENIJA
      set
        /* PEREMESCHENIJA.ID_dolzhnosti = NULL */
        PEREMESCHENIJA.ID_dolzhnosti = NULL
      where
        not exists (
          select * from DOLZHNOSTI
            where
              /* :new.ID_dolzhnosti = DOLZHNOSTI.ID_dolzhnosti */
              :new.ID_dolzhnosti = DOLZHNOSTI.ID_dolzhnosti
        ) 
        /*  and PEREMESCHENIJA.ID_dolzhnosti = :new.ID_dolzhnosti */
         and PEREMESCHENIJA.ID_sotrudnika = :new.ID_sotrudnika;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tD_PERSONAL_SKIDKI after DELETE on PERSONAL_SKIDKI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- DELETE trigger on PERSONAL_SKIDKI 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* PERSONAL_SKIDKI R/106 KLIENTI ON PARENT DELETE SET NULL */
    update KLIENTI
      set
        /* KLIENTI.ID_personal_skidki = NULL */
        KLIENTI.ID_personal_skidki = NULL
      where
        /* KLIENTI.ID_personal_skidki = :old.ID_personal_skidki */
        KLIENTI.ID_personal_skidki = :old.ID_personal_skidki;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tU_PERSONAL_SKIDKI after UPDATE on PERSONAL_SKIDKI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- UPDATE trigger on PERSONAL_SKIDKI 
declare numrows INTEGER;
begin
  /* PERSONAL_SKIDKI R/106 KLIENTI ON PARENT UPDATE SET NULL */
  if
    /* :old.ID_personal_skidki <> :new.ID_personal_skidki */
    :old.ID_personal_skidki <> :new.ID_personal_skidki
  then
    update KLIENTI
      set
        /* KLIENTI.ID_personal_skidki = NULL */
        KLIENTI.ID_personal_skidki = NULL
      where
        /* KLIENTI.ID_personal_skidki = :old.ID_personal_skidki */
        KLIENTI.ID_personal_skidki = :old.ID_personal_skidki;
  end if;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tD_PRICHINI_PEREVODA after DELETE on PRICHINI_PEREVODA for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- DELETE trigger on PRICHINI_PEREVODA 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* PRICHINI_PEREVODA R/13 PEREMESCHENIJA ON PARENT DELETE SET NULL */
    update PEREMESCHENIJA
      set
        /* PEREMESCHENIJA.ID_prichini_perevoda = NULL */
        PEREMESCHENIJA.ID_prichini_perevoda = NULL
      where
        /* PEREMESCHENIJA.ID_prichini_perevoda = :old.ID_prichini_perevoda */
        PEREMESCHENIJA.ID_prichini_perevoda = :old.ID_prichini_perevoda;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tU_PRICHINI_PEREVODA after UPDATE on PRICHINI_PEREVODA for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- UPDATE trigger on PRICHINI_PEREVODA 
declare numrows INTEGER;
begin
  /* PRICHINI_PEREVODA R/13 PEREMESCHENIJA ON PARENT UPDATE SET NULL */
  if
    /* :old.ID_prichini_perevoda <> :new.ID_prichini_perevoda */
    :old.ID_prichini_perevoda <> :new.ID_prichini_perevoda
  then
    update PEREMESCHENIJA
      set
        /* PEREMESCHENIJA.ID_prichini_perevoda = NULL */
        PEREMESCHENIJA.ID_prichini_perevoda = NULL
      where
        /* PEREMESCHENIJA.ID_prichini_perevoda = :old.ID_prichini_perevoda */
        PEREMESCHENIJA.ID_prichini_perevoda = :old.ID_prichini_perevoda;
  end if;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tD_SOTRUDNIKI after DELETE on SOTRUDNIKI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- DELETE trigger on SOTRUDNIKI 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* SOTRUDNIKI R/4 ZAJAVKI ON PARENT DELETE SET NULL */
    update ZAJAVKI
      set
        /* ZAJAVKI.ID_sotrudnica = NULL */
        ZAJAVKI.ID_sotrudnica = NULL
      where
        /* ZAJAVKI.ID_sotrudnica = :old.ID_sotrudnica */
        ZAJAVKI.ID_sotrudnica = :old.ID_sotrudnica;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* SOTRUDNIKI R/12 PEREMESCHENIJA ON PARENT DELETE SET NULL */
    update PEREMESCHENIJA
      set
        /* PEREMESCHENIJA.ID_sotrudnica = NULL */
        PEREMESCHENIJA.ID_sotrudnica = NULL
      where
        /* PEREMESCHENIJA.ID_sotrudnica = :old.ID_sotrudnica */
        PEREMESCHENIJA.ID_sotrudnica = :old.ID_sotrudnica;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tI_SOTRUDNIKI after INSERT on SOTRUDNIKI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- INSERT trigger on SOTRUDNIKI 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* DOLZHNOSTI R/11 SOTRUDNIKI ON CHILD INSERT SET NULL */
    update SOTRUDNIKI
      set
        /* SOTRUDNIKI.ID_dolzhnosti = NULL */
        SOTRUDNIKI.ID_dolzhnosti = NULL
      where
        not exists (
          select * from DOLZHNOSTI
            where
              /* :new.ID_dolzhnosti = DOLZHNOSTI.ID_dolzhnosti */
              :new.ID_dolzhnosti = DOLZHNOSTI.ID_dolzhnosti
        ) 
        /*  and SOTRUDNIKI.ID_sotrudnica = :new.ID_sotrudnica */
         and SOTRUDNIKI.ID_sotrudnica = :new.ID_sotrudnica;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* YLICI R/102 SOTRUDNIKI ON CHILD INSERT SET NULL */
    update SOTRUDNIKI
      set
        /* SOTRUDNIKI.ID_ylici = NULL */
        SOTRUDNIKI.ID_ylici = NULL
      where
        not exists (
          select * from YLICI
            where
              /* :new.ID_ylici = YLICI.ID_ylici */
              :new.ID_ylici = YLICI.ID_ylici
        ) 
        /*  and SOTRUDNIKI.ID_sotrudnica = :new.ID_sotrudnica */
         and SOTRUDNIKI.ID_sotrudnica = :new.ID_sotrudnica;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tU_SOTRUDNIKI after UPDATE on SOTRUDNIKI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- UPDATE trigger on SOTRUDNIKI 
declare numrows INTEGER;
begin
  /* SOTRUDNIKI R/4 ZAJAVKI ON PARENT UPDATE SET NULL */
  if
    /* :old.ID_sotrudnica <> :new.ID_sotrudnica */
    :old.ID_sotrudnica <> :new.ID_sotrudnica
  then
    update ZAJAVKI
      set
        /* ZAJAVKI.ID_sotrudnica = NULL */
        ZAJAVKI.ID_sotrudnica = NULL
      where
        /* ZAJAVKI.ID_sotrudnica = :old.ID_sotrudnica */
        ZAJAVKI.ID_sotrudnica = :old.ID_sotrudnica;
  end if;

  /* SOTRUDNIKI R/12 PEREMESCHENIJA ON PARENT UPDATE SET NULL */
  if
    /* :old.ID_sotrudnica <> :new.ID_sotrudnica */
    :old.ID_sotrudnica <> :new.ID_sotrudnica
  then
    update PEREMESCHENIJA
      set
        /* PEREMESCHENIJA.ID_sotrudnica = NULL */
        PEREMESCHENIJA.ID_sotrudnica = NULL
      where
        /* PEREMESCHENIJA.ID_sotrudnica = :old.ID_sotrudnica */
        PEREMESCHENIJA.ID_sotrudnica = :old.ID_sotrudnica;
  end if;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* DOLZHNOSTI R/11 SOTRUDNIKI ON CHILD UPDATE SET NULL */
    update SOTRUDNIKI
      set
        /* SOTRUDNIKI.ID_dolzhnosti = NULL */
        SOTRUDNIKI.ID_dolzhnosti = NULL
      where
        not exists (
          select * from DOLZHNOSTI
            where
              /* :new.ID_dolzhnosti = DOLZHNOSTI.ID_dolzhnosti */
              :new.ID_dolzhnosti = DOLZHNOSTI.ID_dolzhnosti
        ) 
        /*  and SOTRUDNIKI.ID_sotrudnica = :new.ID_sotrudnica */
         and SOTRUDNIKI.ID_sotrudnica = :new.ID_sotrudnica;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* YLICI R/102 SOTRUDNIKI ON CHILD UPDATE SET NULL */
    update SOTRUDNIKI
      set
        /* SOTRUDNIKI.ID_ylici = NULL */
        SOTRUDNIKI.ID_ylici = NULL
      where
        not exists (
          select * from YLICI
            where
              /* :new.ID_ylici = YLICI.ID_ylici */
              :new.ID_ylici = YLICI.ID_ylici
        ) 
        /*  and SOTRUDNIKI.ID_sotrudnica = :new.ID_sotrudnica */
         and SOTRUDNIKI.ID_sotrudnica = :new.ID_sotrudnica;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tD_SPISKI_MEST after DELETE on SPISKI_MEST for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- DELETE trigger on SPISKI_MEST 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* SPISKI_MEST R/3 ZAJAVKI ON PARENT DELETE SET NULL */
    update ZAJAVKI
      set
        /* ZAJAVKI.ID_spiska_mesta = NULL */
        ZAJAVKI.ID_spiska_mesta = NULL
      where
        /* ZAJAVKI.ID_spiska_mesta = :old.ID_spiska_mesta */
        ZAJAVKI.ID_spiska_mesta = :old.ID_spiska_mesta;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tI_SPISKI_MEST after INSERT on SPISKI_MEST for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- INSERT trigger on SPISKI_MEST 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* XARAKTERISTIKI_GRUZA R/6 SPISKI_MEST ON CHILD INSERT SET NULL */
    update SPISKI_MEST
      set
        /* SPISKI_MEST.ID_xarakteristiki_gruza = NULL */
        SPISKI_MEST.ID_xarakteristiki_gruza = NULL
      where
        not exists (
          select * from XARAKTERISTIKI_GRUZA
            where
              /* :new.ID_xarakteristiki_gruza = XARAKTERISTIKI_GRUZA.ID_xarakteristiki_gruza */
              :new.ID_xarakteristiki_gruza = XARAKTERISTIKI_GRUZA.ID_xarakteristiki_gruza
        ) 
        /*  and SPISKI_MEST.ID_spiska_mesta = :new.ID_spiska_mesta */
         and SPISKI_MEST.ID_spiska_mesta = :new.ID_spiska_mesta;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tU_SPISKI_MEST after UPDATE on SPISKI_MEST for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- UPDATE trigger on SPISKI_MEST 
declare numrows INTEGER;
begin
  /* SPISKI_MEST R/3 ZAJAVKI ON PARENT UPDATE SET NULL */
  if
    /* :old.ID_spiska_mesta <> :new.ID_spiska_mesta */
    :old.ID_spiska_mesta <> :new.ID_spiska_mesta
  then
    update ZAJAVKI
      set
        /* ZAJAVKI.ID_spiska_mesta = NULL */
        ZAJAVKI.ID_spiska_mesta = NULL
      where
        /* ZAJAVKI.ID_spiska_mesta = :old.ID_spiska_mesta */
        ZAJAVKI.ID_spiska_mesta = :old.ID_spiska_mesta;
  end if;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* XARAKTERISTIKI_GRUZA R/6 SPISKI_MEST ON CHILD UPDATE SET NULL */
    update SPISKI_MEST
      set
        /* SPISKI_MEST.ID_xarakteristiki_gruza = NULL */
        SPISKI_MEST.ID_xarakteristiki_gruza = NULL
      where
        not exists (
          select * from XARAKTERISTIKI_GRUZA
            where
              /* :new.ID_xarakteristiki_gruza = XARAKTERISTIKI_GRUZA.ID_xarakteristiki_gruza */
              :new.ID_xarakteristiki_gruza = XARAKTERISTIKI_GRUZA.ID_xarakteristiki_gruza
        ) 
        /*  and SPISKI_MEST.ID_spiska_mesta = :new.ID_spiska_mesta */
         and SPISKI_MEST.ID_spiska_mesta = :new.ID_spiska_mesta;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tD_XARAKTERISTIKI_GRUZA after DELETE on XARAKTERISTIKI_GRUZA for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- DELETE trigger on XARAKTERISTIKI_GRUZA 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* XARAKTERISTIKI_GRUZA R/6 SPISKI_MEST ON PARENT DELETE SET NULL */
    update SPISKI_MEST
      set
        /* SPISKI_MEST.ID_xarakteristiki_gruza = NULL */
        SPISKI_MEST.ID_xarakteristiki_gruza = NULL
      where
        /* SPISKI_MEST.ID_xarakteristiki_gruza = :old.ID_xarakteristiki_gruza */
        SPISKI_MEST.ID_xarakteristiki_gruza = :old.ID_xarakteristiki_gruza;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tU_XARAKTERISTIKI_GRUZA after UPDATE on XARAKTERISTIKI_GRUZA for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- UPDATE trigger on XARAKTERISTIKI_GRUZA 
declare numrows INTEGER;
begin
  /* XARAKTERISTIKI_GRUZA R/6 SPISKI_MEST ON PARENT UPDATE SET NULL */
  if
    /* :old.ID_xarakteristiki_gruza <> :new.ID_xarakteristiki_gruza */
    :old.ID_xarakteristiki_gruza <> :new.ID_xarakteristiki_gruza
  then
    update SPISKI_MEST
      set
        /* SPISKI_MEST.ID_xarakteristiki_gruza = NULL */
        SPISKI_MEST.ID_xarakteristiki_gruza = NULL
      where
        /* SPISKI_MEST.ID_xarakteristiki_gruza = :old.ID_xarakteristiki_gruza */
        SPISKI_MEST.ID_xarakteristiki_gruza = :old.ID_xarakteristiki_gruza;
  end if;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tD_YLICI after DELETE on YLICI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- DELETE trigger on YLICI 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* YLICI R/111 KLIENTI ON PARENT DELETE SET NULL */
    update KLIENTI
      set
        /* KLIENTI.ID_ylici = NULL */
        KLIENTI.ID_ylici = NULL
      where
        /* KLIENTI.ID_ylici = :old.ID_ylici */
        KLIENTI.ID_ylici = :old.ID_ylici;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* YLICI R/102 SOTRUDNIKI ON PARENT DELETE SET NULL */
    update SOTRUDNIKI
      set
        /* SOTRUDNIKI.ID_ylici = NULL */
        SOTRUDNIKI.ID_ylici = NULL
      where
        /* SOTRUDNIKI.ID_ylici = :old.ID_ylici */
        SOTRUDNIKI.ID_ylici = :old.ID_ylici;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tU_YLICI after UPDATE on YLICI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- UPDATE trigger on YLICI 
declare numrows INTEGER;
begin
  /* YLICI R/111 KLIENTI ON PARENT UPDATE SET NULL */
  if
    /* :old.ID_ylici <> :new.ID_ylici */
    :old.ID_ylici <> :new.ID_ylici
  then
    update KLIENTI
      set
        /* KLIENTI.ID_ylici = NULL */
        KLIENTI.ID_ylici = NULL
      where
        /* KLIENTI.ID_ylici = :old.ID_ylici */
        KLIENTI.ID_ylici = :old.ID_ylici;
  end if;

  /* YLICI R/102 SOTRUDNIKI ON PARENT UPDATE SET NULL */
  if
    /* :old.ID_ylici <> :new.ID_ylici */
    :old.ID_ylici <> :new.ID_ylici
  then
    update SOTRUDNIKI
      set
        /* SOTRUDNIKI.ID_ylici = NULL */
        SOTRUDNIKI.ID_ylici = NULL
      where
        /* SOTRUDNIKI.ID_ylici = :old.ID_ylici */
        SOTRUDNIKI.ID_ylici = :old.ID_ylici;
  end if;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tI_ZAJAVKI after INSERT on ZAJAVKI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- INSERT trigger on ZAJAVKI 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* MARSHRUTI R/1 ZAJAVKI ON CHILD INSERT SET NULL */
    update ZAJAVKI
      set
        /* ZAJAVKI.ID_marshruta = NULL */
        ZAJAVKI.ID_marshruta = NULL
      where
        not exists (
          select * from MARSHRUTI
            where
              /* :new.ID_marshruta = MARSHRUTI.ID_marshruta */
              :new.ID_marshruta = MARSHRUTI.ID_marshruta
        ) 
        /*  and ZAJAVKI.ID_zajavki = :new.ID_zajavki */
         and ZAJAVKI.ID_zajavki = :new.ID_zajavki;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* SOTRUDNIKI R/4 ZAJAVKI ON CHILD INSERT SET NULL */
    update ZAJAVKI
      set
        /* ZAJAVKI.ID_sotrudnica = NULL */
        ZAJAVKI.ID_sotrudnica = NULL
      where
        not exists (
          select * from SOTRUDNIKI
            where
              /* :new.ID_sotrudnica = SOTRUDNIKI.ID_sotrudnica */
              :new.ID_sotrudnica = SOTRUDNIKI.ID_sotrudnica
        ) 
        /*  and ZAJAVKI.ID_zajavki = :new.ID_zajavki */
         and ZAJAVKI.ID_zajavki = :new.ID_zajavki;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* SPISKI_MEST R/3 ZAJAVKI ON CHILD INSERT SET NULL */
    update ZAJAVKI
      set
        /* ZAJAVKI.ID_spiska_mesta = NULL */
        ZAJAVKI.ID_spiska_mesta = NULL
      where
        not exists (
          select * from SPISKI_MEST
            where
              /* :new.ID_spiska_mesta = SPISKI_MEST.ID_spiska_mesta */
              :new.ID_spiska_mesta = SPISKI_MEST.ID_spiska_mesta
        ) 
        /*  and ZAJAVKI.ID_zajavki = :new.ID_zajavki */
         and ZAJAVKI.ID_zajavki = :new.ID_zajavki;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* KLIENTI R/1 ZAJAVKI ON CHILD INSERT SET NULL */
    update ZAJAVKI
      set
        /* ZAJAVKI.ID_klienta = NULL */
        ZAJAVKI.ID_klienta = NULL
      where
        not exists (
          select * from KLIENTI
            where
              /* :new.ID_klienta = KLIENTI.ID_klienta */
              :new.ID_klienta = KLIENTI.ID_klienta
        ) 
        /*  and ZAJAVKI.ID_zajavki = :new.ID_zajavki */
         and ZAJAVKI.ID_zajavki = :new.ID_zajavki;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

create trigger tU_ZAJAVKI after UPDATE on ZAJAVKI for each row
-- ERwin Builtin Sun Dec 02 20:14:20 2007
-- UPDATE trigger on ZAJAVKI 
declare numrows INTEGER;
begin
    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* MARSHRUTI R/1 ZAJAVKI ON CHILD UPDATE SET NULL */
    update ZAJAVKI
      set
        /* ZAJAVKI.ID_marshruta = NULL */
        ZAJAVKI.ID_marshruta = NULL
      where
        not exists (
          select * from MARSHRUTI
            where
              /* :new.ID_marshruta = MARSHRUTI.ID_marshruta */
              :new.ID_marshruta = MARSHRUTI.ID_marshruta
        ) 
        /*  and ZAJAVKI.ID_zajavki = :new.ID_zajavki */
         and ZAJAVKI.ID_zajavki = :new.ID_zajavki;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* SOTRUDNIKI R/4 ZAJAVKI ON CHILD UPDATE SET NULL */
    update ZAJAVKI
      set
        /* ZAJAVKI.ID_sotrudnica = NULL */
        ZAJAVKI.ID_sotrudnica = NULL
      where
        not exists (
          select * from SOTRUDNIKI
            where
              /* :new.ID_sotrudnica = SOTRUDNIKI.ID_sotrudnica */
              :new.ID_sotrudnica = SOTRUDNIKI.ID_sotrudnica
        ) 
        /*  and ZAJAVKI.ID_zajavki = :new.ID_zajavki */
         and ZAJAVKI.ID_zajavki = :new.ID_zajavki;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* SPISKI_MEST R/3 ZAJAVKI ON CHILD UPDATE SET NULL */
    update ZAJAVKI
      set
        /* ZAJAVKI.ID_spiska_mesta = NULL */
        ZAJAVKI.ID_spiska_mesta = NULL
      where
        not exists (
          select * from SPISKI_MEST
            where
              /* :new.ID_spiska_mesta = SPISKI_MEST.ID_spiska_mesta */
              :new.ID_spiska_mesta = SPISKI_MEST.ID_spiska_mesta
        ) 
        /*  and ZAJAVKI.ID_zajavki = :new.ID_zajavki */
         and ZAJAVKI.ID_zajavki = :new.ID_zajavki;

    /* ERwin Builtin Sun Dec 02 20:14:20 2007 */
    /* KLIENTI R/1 ZAJAVKI ON CHILD UPDATE SET NULL */
    update ZAJAVKI
      set
        /* ZAJAVKI.ID_klienta = NULL */
        ZAJAVKI.ID_klienta = NULL
      where
        not exists (
          select * from KLIENTI
            where
              /* :new.ID_klienta = KLIENTI.ID_klienta */
              :new.ID_klienta = KLIENTI.ID_klienta
        ) 
        /*  and ZAJAVKI.ID_zajavki = :new.ID_zajavki */
         and ZAJAVKI.ID_zajavki = :new.ID_zajavki;


-- ERwin Builtin Sun Dec 02 20:14:20 2007
end;
/

Offline

#18  18.12.07 18:03

Re: [Проблема]Связь таблиц в OracleXE

ндааа...вам не говорили что тригеры лучше отключить ибо при выполнении курсача они не нужны.Вообще попробуй когда в эрвине переводишь в скл отключи все галочки кроме table->create table referential integrity->primary key alter/pk
скрипт будет в раза 4 короче и будет рабочим.
В твоем скрипте в таблице города первичный ключ id_goroda а в таблице маршрутов он форейгн кей Все нормально.Только сейчас заметил
select g.doroda_otp
from marshruti m
inner join doroda_otp g
on (m.id_doroda_otp=g.id_goroda)
что за таблица doroda_opt не вижу ее в скрипте.
Может ты хотела написаьт так
select G.doroda_otp as Город_отпраления
from MARSHRUTI M, GORODA G
where M.doroda_otp = G.id_goroda
попробуй так.

Исправлено Unclead (18.12.07 18:05)

Offline

#19  18.12.07 18:11

Re: [Проблема]Связь таблиц в OracleXE

Unclead, триггеры отключаю в оракле.
doroda _otp сократила , ибо писать их в сотых раз уже надоело. сейчас попробую


барабанная дробь!!!!!!!!!
ORA-00904: "M"."DORODA_OTPRAVLENIJA": invalid identifier

Offline

#20  18.12.07 18:12

Re: [Проблема]Связь таблиц в OracleXE

ты выложила УЖАС, а не скрипт.... про не внимательность:

LuckyLove написал(а):

Есть таблица GORODA (ID_goroda, goroda)
и
таблица MARSHRUTI (ID_marshruta, ID_doroda_otp, ID_doroda_naz, Stoimostj_dostavki)

у тебя в скрипте:
CREATE TABLE GORODA (
       ID_goroda            INTEGER NOT NULL,
       Nazvanie             VARCHAR2(50) NOT NULL
);

CREATE TABLE MARSHRUTI (
       ID_marshruta         INTEGER NOT NULL,
       ID_doroda_otpravlenija INTEGER NULL,
       ID_doroda_naznachenija INTEGER NULL,
       Stoimost_dostavki    INTEGER NULL,
       Z_d_tarif            INTEGER NULL,
       ID_goroda            INTEGER NULL
);

прости за дотошность... но пока лишь это бросилось в глаза....

а нет!
вот ещё:

LuckyLove написал(а):

Написала запрос:

select g.doroda_otp
from marshruti m
inner join doroda_otp g
on (m.id_doroda_otp=g.id_goroda)

doroda_otp - этого у тебя в скрипте нет => не создаётся

Offline

#21  18.12.07 18:12

Re: [Проблема]Связь таблиц в OracleXE

Unclead, хех! опередил меня! ))

Offline

#22  18.12.07 18:14

Re: [Проблема]Связь таблиц в OracleXE

Дорогие мои помощники Unclead, /7ельмень,  в посте 1 написала, для сокращения. а в когда пишу запрос пишу все полностью как написано в скрипте.

Offline

#23  18.12.07 18:14

Re: [Проблема]Связь таблиц в OracleXE

select G.doroda_otp as Город_отпраления
from MARSHRUTI M, GORODA G
where M.ID_doroda_otpravlenija = G.id_goroda
могла бы и сама исправить...это как в книгах я специально ошибку внес чтоб ты ее нашла

я бы вообще назвал так столбцы
id_city_from -город отправления
id_city_where -место назначения

Исправлено Unclead (18.12.07 18:17)

Offline

#24  18.12.07 18:16

Re: [Проблема]Связь таблиц в OracleXE

Unclead, а ID я дописала!!!!!

Offline

#25  18.12.07 18:17

Re: [Проблема]Связь таблиц в OracleXE

LuckyLove, ДОРОГАЯ! Тебе 2 раза написали не на сокращения, а на то, что doroda_otp везде ( в скрипте) идёт с ИД! а Ты его пытаешься юзать,....

Offline

#26  18.12.07 18:18

Re: [Проблема]Связь таблиц в OracleXE

/7ельмень, что-то совсем меня запутали!! И с ID и без ID все-равно не работает.

Offline

#27  18.12.07 18:19

Re: [Проблема]Связь таблиц в OracleXE

LuckyLove, вышли скрипт из оракла.Скопируй от туда и вставь сюда. Бывает ошибешься в букве одной и весь гигансткий скрипт не пашет

Offline

#28  18.12.07 18:19

Re: [Проблема]Связь таблиц в OracleXE

Unclead написал(а):

....и весь гигансткий скрипт не пашет

в ЭТОМ случае он действительно гигантский

Offline

#29  18.12.07 18:24

Re: [Проблема]Связь таблиц в OracleXE

Скидываю скрипт GORODA  и MARSHRUTi

Код::

CREATE TABLE  "GORODA" 
   (	"ID_GORODA" NUMBER(*,0) NOT NULL ENABLE, 
	"GORODA" VARCHAR2(50) NOT NULL ENABLE, 
	 PRIMARY KEY ("ID_GORODA") ENABLE
   )


CREATE TABLE  "MARSHRUTI" 
   (	"ID_MARSHRUTA" NUMBER(*,0) NOT NULL ENABLE, 
	"ID_DORODA_OTPRAVLENIJA" NUMBER(*,0), 
	"ID_DORODA_NAZNACHENIJA" NUMBER(*,0), 
	"STOIMOST_DOSTAVKI" NUMBER(*,0), 
	"Z_D_TARIF" NUMBER(*,0), 
	 PRIMARY KEY ("ID_MARSHRUTA") ENABLE
   )

Такой подойдет? или я что-то не то написала?

Исправлено LuckyLove (18.12.07 18:25)

Offline

#30  18.12.07 18:30

Re: [Проблема]Связь таблиц в OracleXE

LuckyLove, я полагаю, что он ожидал получить от тебя нечто другое... имхо.

напиши сюда (без сокращений) свой запрос, я щас у себя загрузил твой скрип (старый, который от 2-го декабря)

Offline

#31  18.12.07 18:30

Re: [Проблема]Связь таблиц в OracleXE

а вот это никого не смутило? :)

Код: sql:

CREATE UNIQUE INDEX XPKBANKI ON BANKI
(
       ID_banka                       ASC
);
 
 
ALTER TABLE BANKI
       ADD  ( PRIMARY KEY (ID_banka) ) ;

Offline

#32  18.12.07 18:33

Re: [Проблема]Связь таблиц в OracleXE

XuMiX, ну ламер я, ну написала не так, но запрос то правильно делаю

Offline

#33  18.12.07 18:35

Re: [Проблема]Связь таблиц в OracleXE

/7ельмень,

Код::

select m.doroda_otpravlenija
from marshruti m
inner join doroda_otpravlenija m
on (m.id_doroda_otpravlenija=g.id_goroda)

Offline

#34  18.12.07 18:36

Re: [Проблема]Связь таблиц в OracleXE

XuMiX, меня не смутило....
меня смущает это:

select g.doroda_otp
from marshruti m
inner join doroda_otp g
on (m.id_doroda_otp=g.id_goroda)

Offline

#35  18.12.07 18:38

Re: [Проблема]Связь таблиц в OracleXE

LuckyLove, и что этот селект должен возвращать? я просто не могу воткнуть в этот запрос! doroda_otpravlenija - это у тебя таблица, чтоли? или это я туплю?

Offline

#36  18.12.07 18:40

Re: [Проблема]Связь таблиц в OracleXE

/7ельмень, я хочу от этого запроса получить, чтобы в таблице МАРШРУТЫ появились списки Города_отправления, не код города, а само название.

Исправлено LuckyLove (18.12.07 18:42)

Offline

#37  18.12.07 18:44

Re: [Проблема]Связь таблиц в OracleXE

если я не ошибся, то это должно работать:
select ID_doroda_otpravlenija from marshruti m,goroda g WHERE m.ID_doroda_otpravlenija=g.ID_goroda;

правда, написано без иннеров

или это не то, что ты хотела получить от своего запроса?

Исправлено /7ельмень (18.12.07 18:46)

Offline

#38  18.12.07 18:49

Re: [Проблема]Связь таблиц в OracleXE

/7ельмень, УРА! работает, только я не хочу увидеть коды городов, я хочу сами города увидеть.(((((((

Offline

#39  18.12.07 18:52

Re: [Проблема]Связь таблиц в OracleXE

select G.GORODA AS ГОРОД
FROM GORODA G
INNER JOIN MARSHRUTI M ON(M.ID_DORODA_OTPRAVLENIJA = G.ID_GORODA)

Offline

#40  18.12.07 18:55

Re: [Проблема]Связь таблиц в OracleXE

CREATE TABLE GORODA (
       ID_goroda            INTEGER NOT NULL,
       Nazvanie             VARCHAR2(50) NOT NULL
);


CREATE TABLE MARSHRUTI (
       ID_marshruta         INTEGER NOT NULL,
       ID_doroda_otpravlenija INTEGER NULL,
       ID_doroda_naznachenija INTEGER NULL,
       Stoimost_dostavki    INTEGER NULL,
       Z_d_tarif            INTEGER NULL,
       ID_goroda            INTEGER NULL
);

select g.Nazvanie from goroda g,marshruti m WHERE m.ID_doroda_otpravlenija=g.ID_goroda;

Offline

#41  18.12.07 18:55

Re: [Проблема]Связь таблиц в OracleXE

СОЗДАЛ ТАБЛИЦЫ ВСЕ ПАШЕТ

Offline

#42  18.12.07 18:56

Re: [Проблема]Связь таблиц в OracleXE

Unclead, я думаю, вопрос исчерпан. Так же LuckyLove?

Offline

#43  18.12.07 18:56

Re: [Проблема]Связь таблиц в OracleXE

Unclead, таблицу гододов я и сама могу вывести

а так, чтобы я смогла увидеть в марщрутах Город_отправления и тариф будет сложнее сделать.

Offline

#44  18.12.07 18:57

Re: [Проблема]Связь таблиц в OracleXE

/7ельмень, сейчас проверю

Offline

#45  18.12.07 18:58

Re: [Проблема]Связь таблиц в OracleXE

/7ельмень, у меня вот это:
select g.Nazvanie from goroda g,marshruti m WHERE m.ID_doroda_otpravlenija=g.ID_goroda;
вообще не работает

Offline

Программирование и БД » [Проблема]Связь таблиц в OracleXE 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 2.603 сек.
Выполнено 11 запросов.