完整代码如下:
CREATE OR REPLACE PROCEDURE user.temp
AS
TMP_field1 VARCHAR2(10) ;
TMP_field2 VARCHAR2(10) ;
BEGIN
DECLARE CURSOR C1 IS SELECT field1 FROM table1;
BEGIN
OPEN C1;
LOOP
FETCH C1 INTO TMP_FIELD1;
EXIT WHEN C1%NOTFOUND;
SELECT FILED2 INTO TMP_FILED2 FROM TABLE2 WHERE FIELD3=TMP_FIELD1;
/*这里可能取不到值,因为不满足条件*/
exception
when no_data_found then
null;
end;
if tmp_filed2 is not null then
insert into table2 values(tmp_filed2);
end if;
END LOOP;
CLOSE C1;
END;
END temp;
CREATE OR REPLACE PROCEDURE user.temp
AS
TMP_field1 VARCHAR2(10) ;
TMP_field2 VARCHAR2(10) ;
BEGIN
DECLARE CURSOR C1 IS SELECT field1 FROM table1;
BEGIN
OPEN C1;
LOOP
FETCH C1 INTO TMP_FIELD1;
EXIT WHEN C1%NOTFOUND;
SELECT FILED2 INTO TMP_FILED2 FROM TABLE2 WHERE FIELD3=TMP_FIELD1;
/*这里可能取不到值,因为不满足条件*/
exception
when no_data_found then
null;
end;
if tmp_filed2 is not null then
insert into table2 values(tmp_filed2);
end if;
END LOOP;
CLOSE C1;
END;
END temp;
$....$之间的是我加的语句CREATE OR REPLACE PROCEDURE user.temp
AS
TMP_field1 VARCHAR2(10) ;
TMP_field2 VARCHAR2(10) ;
BEGIN
DECLARE CURSOR C1 IS SELECT field1 FROM table1;
BEGIN
OPEN C1;
LOOP
FETCH C1 INTO TMP_FIELD1;
EXIT WHEN C1%NOTFOUND;
$begin$
SELECT FILED2 INTO TMP_FILED2 FROM TABLE2 WHERE FIELD3=TMP_FIELD1;
/*这里可能取不到值,因为不满足条件*/
exception
when no_data_found then
null;
end;
if tmp_filed2 is not null then
insert into table2 values(tmp_filed2);
end if;
END LOOP;
CLOSE C1;
END;
END temp;