場景 :手動或者動態指令碼清除 oracle清空或者刪除當前使用者所有的表
方法一:
使用pl/sql客戶端,使用該使用者登入,選中所有表 右鍵drop即可
方法二:
前提:該使用者 有此許可權
select 'drop table '||table_name||';' from user_tables;
然後 拷貝其 sql ,進行刪除
方法三:
使用儲存過程刪除該使用者下所有的表
set echo on
set define off
spool logs/create_procedure.log
--刪除所有表的儲存過程;
create or replace procedure p_drop_all_table
as --引用user_tables表中的tablename的型別;
tablename user_tables.table_name%type;
type ty is record(table_name varchar2(30));
--定義ref型別游標;-強型別
type ref_type is ref cursor return ty;
ref_t ref_type;
--定義變數儲存數量;
mycount number(10);
begin
--開啟游標;
open ref_t for select table_name from user_tables;
loop
--從游標中獲取一條記錄,放入變數中;
fetch ref_t into tablename;
select count(*) into mycount from user_tables where table_name = tablename;
if mycount>0 then
execute immediate 'drop table '||tablename || ' cascade constraint ';
end if;
exit when ref_t%notfound; --退出;
end loop;
close ref_t;
end;
/
清除的話,將 drop 替換為 truncate 或者 delete ,過程 同上 oracle 刪除當前鏈結
1 首先切換到 system 使用者 2 查詢使用者各程序相對應的 sid serial select sid,serial username from vkatex parse error expected eof got at position 74 b.serial from session ...
Oracle刪除當前連線使用者
當你使用pl sql developer刪除使用者時,經常會出現這樣的提示 無法刪除當前連線的使用者 解決方法我直接貼出sql語句 刪除當前連線使用者 1 首先切換到 system 使用者 2 查詢使用者各程序相對應的 sid serial 注意 這裡的 username 必須大寫 select s...
oracle無法刪除當前連線的使用者
在oracle當中,經常需要對於一些使用者的相關操作,然而在某些情況下,當前的使用者正在連線當中,如何進行相應的操作,本文主要從這個角度來解決以上問題 首先解決這種問題的辦法是,在sqlplus環境下面完成 select username sid serial from v session 獲取目前...