【发布时间】:2017-12-28 17:22:41
【问题描述】:
对于我的作业,我需要制作一个包,其中包含一个过程,该过程从表 dwdimartist 中删除所有记录,然后用表艺术家中的所有记录填充表,并添加一个带有今天日期的字段。
这是我创建的,它可以工作,但我不知道它是否足够高性能。使用在表格艺术家中的每条记录上循环的游标更好吗?
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 语句性能更高,这是一种非常罕见的情况。我曾经见过游标提高性能。
标签: plsql oracle11g oracle-sqldeveloper