Oracle清空或者刪除當前使用者下所有的表

2021-07-07 09:21:02 字數 1243 閱讀 2073

場景 :手動或者動態指令碼清除 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 獲取目前...