我是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,我想插入新记录。
答案 0 :(得分:7)
你不需要光标。
跑步:
INSERT
INTO mac
SELECT DEVICES_ID_SEQ.nextval, mac, 'abc', 123
FROM (
SELECT DISTINCT
mac
FROM devices
)