oracle查詢鎖表及解鎖,修改表字段名與複製表結構和資料的方法
阿新 • • 發佈:2020-01-09
在Oracle中查詢鎖表及解鎖:
鎖表查詢的程式碼有以下的形式:
select count(*) from v$locked_object; select * from v$locked_object;
檢視哪個表被鎖:
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;
檢視是哪個session
引起的:
select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;
殺掉對應程序:
執行命令:alter system kill session'32,241';
其中32為sid
,241為serial#
.
在Oracle中修改表字段名:
假設欄位有資料,則改為nvarchar2(20)
可以直接執行:
alter table tb modify (name nvarchar2(20));
若不能修改則用下面
alter table sft_bfwo rename column bfwoid to wid; alter table sft_bfwo add bfwoid char(16); update sft_bfwo set bfwoid=trim(wid); alter table sft_bfwo drop column wid;
在Oracle中複製表結構和表資料:
複製表結構及其資料:
create table table_name_new as select * from table_name_old
只複製表結構:
create table table_name_new as select * from table_name_old where 1=2;
或者:
create table table_name_new like table_name_old
只複製表資料:
如果兩個表結構一樣:
insert into table_name_new select * from table_name_old
如果兩個表結構不一樣:
insert into table_name_new(column1,column2...) select column1,column2... from table_name_old
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對我們的支援。如果你想了解更多相關內容請檢視下面相關連結