Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在循环语句Oracle9中插入id_Sql_Oracle_For Loop_Plsql_Unique Constraint - Fatal编程技术网

Sql 在循环语句Oracle9中插入id

Sql 在循环语句Oracle9中插入id,sql,oracle,for-loop,plsql,unique-constraint,Sql,Oracle,For Loop,Plsql,Unique Constraint,我试图使用for循环在表中插入一组数据。对于主键,我尝试使用一个序列,但得到一个: ORA-00001:违反唯一约束(约束名称)的错误 我的代码如下所示: FOR a IN (select * from table a) LOOP select seq.nextval into id1 from dual; insert into table b (primarykey, value1...) select (id1, value1...) from table

我试图使用for循环在表中插入一组数据。对于主键,我尝试使用一个序列,但得到一个:

ORA-00001:违反唯一约束(约束名称)的错误

我的代码如下所示:

FOR a IN (select * from table a)
LOOP 

    select seq.nextval into id1 from dual;

    insert into table b (primarykey, value1...)

    select (id1, value1...) from table c

end loop

知道为什么我仍然得到唯一约束错误吗?

我猜表c包含多行:

FOR a IN (select * from table_a) LOOP
  select seq.nextval into id1 from dual;

  insert into table_b (primarykey, value1...)
  select id1, value1... from table_c;    
  -- the same id1 will be used for many rows 
  -- and cause `UNIQUE` constraint violation

end loop;
我会将其改写为:

INSERT INTO table_b(primarykey, value1...)
SELECT seq.nextval, value1, ...
FROM table_c
WHERE ....;

你能告诉我确切的密码吗?