Oracle Sequence Generation Database

столкнулся с проблемой, хочу сгенерировать базу данных, с помощью Requence задать ключи через процедуру, допустим есть таблица country(id,name) и city(id,name,id_country), при написании последовательной генерации данных через цикл, вторичный ключ в таблицу city не совпадает с ключом в таблицe country, попробовал немножко по-другому задавать значения прям из таблицы country для таблицы city, но ничего не получается, может быть кто-нибудь уже задавался такой целью и знает решение, подскажите, пожалуйста

CREATE SEQUENCE SEQ_ID
   START WITH 1
   INCREMENT BY 1;

CREATE TABLE country
( id number(20),
  name varchar2(100 BYTE),
  CONSTRAINT unique_country_id UNIQUE (id),
  CONSTRAINT unique_country_name UNIQUE (name)
);

CREATE TABLE city
( id number(10) NOT NULL,
  name varchar2(50) NOT NULL,
  id_country number(10) NOT NULL,
  FOREIGN KEY (id_country) REFERENCES country(id),
  CONSTRAINT unique_city_id UNIQUE (id),
  CONSTRAINT unique_city_name UNIQUE (name)
);

BEGIN
   FOR i IN 1 .. 3
   LOOP
      INSERT INTO country
            VALUES (SEQ_ID.NEXTVAL, 'USSR' || i);
   END LOOP;
      FOR i IN 4 .. 7
   LOOP
      INSERT INTO country
            VALUES (SEQ_ID.NEXTVAL, 'Russia' || i);
   END LOOP;
      FOR i IN 8 .. 10
   LOOP
      INSERT INTO country
            VALUES (SEQ_ID.NEXTVAL, 'Italy' || i);
   END LOOP;
   DECLARE
      I      NUMBER;
      NAME_COUNTRY VARCHAR(50);
      CURSOR c_obj
      IS
           SELECT a1.id,a1.name
             FROM country a1
         ORDER BY a1.id;
   BEGIN
      FOR plp$c_obj IN c_obj
      LOOP
         I := plp$c_obj.id;
         NAME_COUNTRY :=plp$c_obj.name;
         IF NAME_COUNTRY='USSR1'
         THEN
            INSERT INTO city
                 VALUES (
                           SEQ_USER.NEXTVAL,
                           'Yalta',I);
         END IF;
       END LOOP;
   END;
END;

Ответы (0 шт):