Oracle PL/SQL 利用 sleep 暫停 or 延遲執行的時間


當你在執行 PL/SQL 時,

若遇到需要一點時間讓 DB Server 處理的情況,

如建立第一層子目錄, 再建立第二層子目錄時,

就需要暫停 or 延遲執行的時間,

這時候可以用 SYS Owner 底下的 DBMS_LOCK.SLEEP 程序.

語法: DBMS_LOCK.SLEEP( 幾秒 );

範例 :
 程式碼
declare
v_db_directory_name varchar2(30) := 'TEMP_PATH';
v_dir_path varchar2(255);
v_result varchar2(255);
begin
-- Directory 實際路徑
select directory_path
into v_dir_path
from all_directories
where directory_name = v_db_directory_name;

-- 建立第一層子目錄
v_result := pkg_file_process.run_command( '/bin/mkdir ' || v_dir_path || '/aaa' );

-- 延遲 1 秒
dbms_lock.sleep(1);

-- 建立第二層子目錄
v_result := pkg_file_process.run_command( '/bin/mkdir ' || v_dir_path || '/aaa/bbb' );
end;


Related Posts Plugin for WordPress, Blogger...