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;