하나의 스키마에서 테이블의 모든 데이터를 삭제하는 프로 시저를 작성해야합니다. 나는 그와 비슷한 것을 시도한다LOOP (스키마의 모든 테이블을 자르는 프로 시저)에서 PL/SQL EXECUTE IMMEDIATE
CREATE OR REPLACE PROCEDURE CLEAR_ALL
IS
sql_truncate VARCHAR2(50);
cursor c1 is
SELECT table_name
FROM all_tables
WHERE owner = 'KARCHUDZ_S';
BEGIN
sql_truncate := 'TRUNCATE TABLE :text_string';
FOR table_name in c1
LOOP
EXECUTE IMMEDIATE sql_truncate USING table_name;
END LOOP;
END CLEAR_ALL;
그러나 그것은 이해할 수없는 두 가지 오류를 준다.
오류 (13,7) : PL/SQL : 문 무시
오류 (13,44)는 : PLS-00457 : 한 Statment는 SQL <의 유형이어야합니다 - (이 오류 나는에 있었다 내가 폴란드어 랭이 대학 오라클 11g 기반)
고마워요! 이것은 잘 작동합니다! –