DBMS_UTILITY.get_time主要用于比较时间差,精确到毫秒,就是秒后面2位小数。
相对于 TO_CHAR(SYSDATE,'SSSSS') ,DBMS_UTILITY.get_time拥有更高的精确度。
DECLARE
l_start_time NUMBER;
l_end_time NUMBER;
BEGIN
l_start_time := dbms_utility.get_time;
dbms_lock.sleep(5);
UPDATE cux_tms_req_headers_all trh
SET trh.status_code = 'aa',
trh.last_updated_by = fnd_global.user_id,
trh.last_update_date = SYSDATE,
trh.last_update_login = fnd_global.login_id
WHERE trh.status_code NOT IN ('100', '110')
AND trh.entity_number = '1236521';
l_end_time := dbms_utility.get_time;
dbms_output.put_line(SQL%ROWCOUNT || ' updated in ' ||
(l_end_time - l_start_time) / 100 || 's');
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Error Msg: ' || SQLERRM);
END;