숙제로는 dwdimartist 테이블에서 모든 레코드를 제거한 다음 테이블 아티스트의 모든 레코드로 테이블을 채우고 오늘의 날짜 필드를 추가하는 절차가 포함 된 패키지를 만들어야합니다.PL SQL에서 INSERT INTO SELECT가있는 날짜를 추가하는 방법은 무엇입니까?
이것은 내가 만든 것으로, 작동하지만 성능면 충분하지는 않습니다. 테이블 아티스트의 각 레코드를 반복하는 커서를 사용하는 것이 더 좋습니까?
CREATE OR REPLACE PACKAGE BODY dwh AS
PROCEDURE filldwh IS
today_date DATE := SYSDATE;
BEGIN
DELETE FROM dwdimartist;
INSERT INTO dwdimartist (artistkey, name) (SELECT artistid, name FROM artist);
UPDATE dwdimartist SET added = today_date;
END filldwh;
END dwh;
커서 루프가 동등한 SQL 문보다 성능이 좋은 경우는 매우 드뭅니다. 커서가 성능을 한 번 향상시키는 것을 보았습니다. –