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...