1. 程式人生 > >Oracle數據庫經常使用但是不好記憶的語句

Oracle數據庫經常使用但是不好記憶的語句

是我 rom 查看 中文 record var add lock 我們

1、關聯更新表操作
比如說我們需要對一張表進行操作,一般update一下就可以了,但是有時候條件必須要關聯過來,這個oracle和mysql有一些差異,我就直接說oracle的:
update sys_role t
set t.password = ‘Q3qtuxGsI7B5u60nFMu+qA==‘
where exists (select 1
from tempstaff s
where t.userid = s.userid
and t.operatorid = s.operatorid)
這個例子是我失誤操作,然後通過快照過久找到錯誤修改的幾千條數據,關聯回去將密碼修改回來,再進行統一操作的。

2、備份表數據

這個來說很簡單,也很好記,我就寫一下.備份表就是testTable1
create table testTable1 as select * from baseTable;

3、添加表的字段
我給downsheet_flag_record表添加一個collectdate字段如下:
alter table downsheet_flag_record add (collectdate varchar2(30));

4、查看某個字段中某一位是不是中文,因為有時候比如說員工表它不實名制,隨便寫,應付檢查我們就找出來,取個名字,叫做王八,王蛋,牛牛,牛二,張偉等等的
select t.userid,t.operatorname, ascII(substrb(trim(t.operatorname),1,1)) from sys_user t where ascII(substrb(trim(t.operatorname),1,1))<>32;

這個就是拿asc編碼來判斷,32代表的是中文。

5、 刪除某列
ALTER TABLE ipms_parameters DROP COLUMN endtime;

6、解鎖表:
select object_name,machine,s.sid,s.serial#
from v$locked_object l,dba_objects o ,v$session s
where l.object_id = o.object_id and l.session_id=s.sid;

alter system kill session ‘2684,53431‘;

7、修改字段類型
alter table alarmmsg modify(sm_text varchar(100));

8、修改字段名
alter DOWNSHEET_FLAG rename column loid to busi_nbr;

Oracle數據庫經常使用但是不好記憶的語句