【发布时间】:2013-04-29 09:28:02
【问题描述】:
我是 SQL 的新手。
我想使用下面的 for 循环查询将数据插入表中。 但无法确定问题
declare
cursor mac is SELECT DISTINCT(MAC) FROM DEVICES;
cmd varchar2(200);
begin
for c in mac loop
cmd := 'INSERT INTO MAC VALUES(DEVICES_ID_SEQ.nextVal,'||c.MAC||',"ABC","123")';
execute immediate cmd;
end loop;
end;
对于现有表中的每个 MAC,我想插入新记录。
【问题讨论】:
-
如果不需要,请不要使用游标或 PL/SQL!看看 Quassnoi 的答案,它的速度要快得多,代码要少得多。学习使用 SQL 以基于集合的方式做事。
-
这种情况也不需要动态SQL。
标签: sql database oracle for-loop