| General Information |
| How |
Oracle has four separate ways to induce
a sleep into PL/SQL. They are:
The USER_LOCK package is not part of the
default installation. Follow the link at page bottom to install before
running the demo.
|
| |
Arguments |
set linesize 121
col package_name format a20
col argument_name format a17
col data_type format a14
col pls_type format a14
SELECT package_name, argument_name, data_type, data_length,
data_precision, pls_type
FROM all_arguments
WHERE object_name = 'SLEEP'
ORDER BY 1;
|
Precision |
set serveroutput on
DECLARE
stime TIMESTAMP(9);
etime TIMESTAMP(9);
BEGIN
stime := SYSTIMESTAMP;
dbms_backup_restore.sleep(0.01);
etime := SYSTIMESTAMP;
dbms_output.put_line(etime-stime);
stime := SYSTIMESTAMP;
dbms_drs.sleep(0.01);
etime := SYSTIMESTAMP;
dbms_output.put_line(etime-stime);
stime := SYSTIMESTAMP;
dbms_lock.sleep(0.01);
etime := SYSTIMESTAMP;
dbms_output.put_line(etime-stime);
stime := SYSTIMESTAMP;
user_lock.sleep(1);
etime := SYSTIMESTAMP;
dbms_output.put_line(etime-stime);
END;
/
DECLARE
stime TIMESTAMP(9);
etime TIMESTAMP(9);
BEGIN
stime := SYSTIMESTAMP;
dbms_backup_restore.sleep(1);
etime := SYSTIMESTAMP;
dbms_output.put_line(etime-stime);
stime := SYSTIMESTAMP;
dbms_drs.sleep(1);
etime := SYSTIMESTAMP;
dbms_output.put_line(etime-stime);
stime := SYSTIMESTAMP;
dbms_lock.sleep(1);
etime := SYSTIMESTAMP;
dbms_output.put_line(etime-stime);
stime := SYSTIMESTAMP;
user_lock.sleep(100);
etime := SYSTIMESTAMP;
dbms_output.put_line(etime-stime);
END;
/
|
|