개정 번호 배열을 수집하려고합니다.
여러 감사 테이블에서 레코드를 삭제하는 데 사용하겠습니다.
그래서 나는 그 배열을 수집하고 내가 레브의oracle 대량 삭제 : 테이블에서 삭제
PLS-00382: expression is of wrong type
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
데이터 유형이 표에서 숫자는 무엇입니까 해당 배열
declare
type NumberArray is table of number index by binary_integer;
revisions NumberArray;
Begin
select rev bulk collect into revisions from (
select t.rev, row_number() over (partition by
column1,
column2
order by column3) rn
from table1 t)
where rn <> 1;
dbms_output.put_line(revisions.count || ' records found from table2 to be deleted');
delete from table2 where rev in (revisions);
dbms_output.put_line('deleted from table2');
를 사용하여 조건에 따라 다른 테이블에서 삭제 실행하기 위해 PLSQL을 썼다.
왜 PL/SQL 당신은 단순히 SQL에서 그것을 할 수있을 때? –
데이터가 매우 거대합니다 .. 시간을 실행하고 싶습니다 – Sahu
데이터가 거대한 경우 컨텍스트 스위칭이 커지고 PL/SQL은 SQL보다 느리고 속도가 느립니다. –