批量處理資料表中的空格

2021-08-10 22:28:45 字數 897 閱讀 3695

create or replace function removespace(inpa number)

return nvarchar2

is v_tmp varchar2 (100);

begin

---迴圈當前使用者下的表

for rs in (select table_name from tabs) loop

--迴圈當前表的各個字段

for subrs in (select column_name,data_type from user_tab_columns where table_name=rs.table_name and (data_type='nvarchar2' or data_type='varchar2')) loop

---分別移除左右空格

v_tmp:='update '||rs.table_name||' set '||subrs.column_name||'=ltrim('||subrs.column_name||')';

execute immediate v_tmp;

v_tmp:='update '||rs.table_name||' set '||subrs.column_name||'=rtrim('||subrs.column_name||')';

execute immediate v_tmp;

end loop;

end loop;

commit;

return 'ok';

end removespace;

編寫函式自動處理當前使用者下的所有表中的空格,使用時執行下面語句即可

select removespace from dual;

批量更新資料表

幾天中午系統中斷了幾分鐘,原因是資料庫down了。當時發現系統中有大量的鎖,幾乎都是來自生產使用者的,被鎖的物件和語句都是平時每天都要千百次使用的。為什麼會出現這麼大面積的鎖,原因到現在都還沒弄明白。只是事後回憶起大量的鎖中有條update的語句,是有個同事在批量更新資料,而是是關聯了其他表的更新 ...

資料表索引處理

第一步 檢視是否需要維護,檢視掃瞄密度 scan density是否為100 declare table id int set table id object id icmo dbcc showcontig table id 第二步 重構表索引 dbcc dbreindex t suspendwor...

MySql資料表中資料的處理 增 刪 改

語法格式為 insert into 表名 欄位名1 欄位名2 values 值1 值2 例如向users表的uname欄位和upwd欄位新增資料.insert into users uname,upwd values 張三 123 也可以同時新增多組資料 insert into users unam...