我需要使用序列在我的数据库中填充大量新创建的表,最少30行。请发布语法。
我要使用循环吗?
欢迎任何建议和解决方案。
在解决此问题时,我们非常感谢您的帮助。
我创建了三个序列,并将值添加到3列,每行30行。对于id
,tel_no
和emp_id
可以创建3个序列并添加30行。如果一列是name
之类的varchar2,该怎么办?目前,3个序列在3列中填充值,但在“名称列”中添加空值。请帮助我们如何添加30个名称并解决此问题。我很抱歉我是新手,请不要犹豫澄清。非常感谢你的时间。
总结一下:我只想让序列为所有行生成数字序列并提示我输入名称。
答案 0 :(得分:0)
我猜你想要什么,但是怎么样:
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;
答案 1 :(得分:0)
您还没有提到要运行脚本的位置 - 如果它在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;