您的产品价格表是否有某种修改日期或上次修改的字段?如果是这样,请确保您正在更新这些。
此外,如果使用您的脚本,您应该设置 echo on 并将 spool 设置为日志文件。您的脚本应类似于:
-- updates.sql
set serveroutput on
set echo on
WHENEVER SQLERROR EXIT SQL.SQLCODE
spool on
spool updates.log
-- put updates here
commit;
spool off
从与此文件相同的目录登录到 sqlplus 并使用以下命令运行:@updates.sql
updates.log 文件将包含运行的每个语句。
如果您想从单独的更新语句列表中获取总数,则需要在每次更新后检查 SQL%ROWCOUNT。类似(未经测试):
declare
l_total pls_integer := 0;
begin
update product set x = 'foo' where y='bar';
l_total := l_total + SQL%ROWCOUNT;
update product set x = 'blah' where y='someval';
l_total := l_total + SQL%ROWCOUNT;
commit;
dbms_output.put_line(l_total);
end
/
这是一个基本的 pl/sql 匿名块,可以与上面的假脱机策略一起使用。
最后,通常设置一个基本日志表,其中包含消息字段、日志日期时间、一些上下文字段(消息来自何处等)、消息类型(日志、错误)等。设置一个处理过程插入日志表(自治事务),然后在需要跟踪统计信息或其他任何内容时使用日志过程(dbms_output 非常有限)。您的环境可能已经有类似的东西,您只需要寻找它(或询问您公司的高级开发人员)。