Заполните таблицы в Pl / SQL, используя объявленные последовательности - PullRequest
0 голосов
/ 05 января 2012

Мне нужно заполнить партию вновь созданных таблиц минимум 30 строками в моей базе данных, используя последовательности.Пожалуйста, опубликуйте синтаксис.

Должен ли я использовать цикл?

Любые предложения и решения приветствуются.

Ваша помощь очень важна в решении этой проблемы.

Я создал три последовательности и добавил значения в 3 столбца с 30 строками.Для id, tel_no и emp_id можно создать 3 последовательности и добавить 30 строк.Что если один столбец varchar2, как name.На данный момент 3 последовательности заполняют значения в 3 столбцах, но добавляют ноль в «столбце имени».Пожалуйста, помогите, как добавить 30 имен и решить эту проблему.Мне очень жаль, что я новичок в этом, пожалуйста, не стесняйтесь, чтобы уточнить.большое спасибо за ваше время.

Подводя итог: я просто хочу, чтобы последовательность генерировала последовательность чисел для всех строк и запрашивала у меня имена.

Ответы [ 2 ]

0 голосов
/ 06 января 2012

Вы не упомянули, где вы собираетесь запускать сценарии - если это в SQL * Plus, то вы можете использовать переменные подстановки

BEGIN
    FOR i IN 1..COUNT LOOP
        INSERT INTO emp
                    (id,
                     tel_no,
                     emp_id,
                     NAME)
        VALUES      (id_seq.next_val,
                     tel_no_seq.nextval,
                     emp_id_seq.nextval,
                     &name);
    END LOOP;
END; 
0 голосов
/ 05 января 2012

Я догадываюсь немного о том, что вы хотите, но как насчет:

create table test
(id number);

create sequence seq_test
start with 1
maxvalue 999999999999999999999999999
minvalue 1
nocycle
nocache
noorder;

insert into test(id)
select seq_test.nextval from dual
connect by level <= 30;

commit;
...