CREATE OR REPLACE PROCEDURE TEST IS --首先建个临时表,把值导入 CURSOR C1 IS SELECT ST1.NAME FROM STU_TEMP ST1; CURSOR C2 IS SELECT ST2.AGE FROM STU_TEMP ST2; CURSOR C3 IS SELECT ST3.CLASS FROM STU_TEMP ST3; I NUMBER := 1; BEGIN FOR REC1 IN C1 LOOP FOR REC2 IN C2 LOOP FOR REC3 IN C3 LOOP INSERT INTO STU (ID, NAME, AGE, CLASS) VALUES (I, REC1.NAME, REC2.AGE, REC3.CLASS); I := I + +; END LOOP; END LOOP; END LOOP; END TEST; ---试下看行不
--首先建个临时表,把值导入
CURSOR C1 IS
SELECT ST1.NAME FROM STU_TEMP ST1;
CURSOR C2 IS
SELECT ST2.AGE FROM STU_TEMP ST2;
CURSOR C3 IS
SELECT ST3.CLASS FROM STU_TEMP ST3;
I NUMBER := 1;
BEGIN
FOR REC1 IN C1 LOOP
FOR REC2 IN C2 LOOP
FOR REC3 IN C3 LOOP
INSERT INTO STU
(ID, NAME, AGE, CLASS)
VALUES
(I, REC1.NAME, REC2.AGE, REC3.CLASS);
I := I + +;
END LOOP;
END LOOP;
END LOOP;
END TEST;
---试下看行不
当然在oracle里也可以.
楼上的方法也可以,不过用游标的话,对性能影响大,你这还好只有3条,如果多条就会很慢