oracle對非使用繫結變數的語句去重
透過如下過程可以對非使用繫結變數的語句去重
create or replace procedure query_sql is
cursor fms is select FORCE_MATCHING_SIGNATURE as fms, count(1) as count
from sys.LARGE2S_TABLE
where FORCE_MATCHING_SIGNATURE > 0
and FORCE_MATCHING_SIGNATURE != EXACT_MATCHING_SIGNATURE
group by FORCE_MATCHING_SIGNATURE
having count(1) > 100
order by 2;
v_fms number;
v_sql01 varchar2(3999);
v_sql02 varchar2(3999);
begin
for i in fms loop
v_sql01:='insert into shsnc.long_sql(sql_id,FORCE_MATCHING_SIGNATURE,sql_text) select sql_id,FORCE_MATCHING_SIGNATURE,sql_fulltext from (select sql_id,FORCE_MATCHING_SIGNATURE,sql_fulltext from sys.LARGE2S_TABLE where FORCE_MATCHING_SIGNATURE='||i.fms||' and sql_id is not null and FORCE_MATCHING_SIGNATURE not in (select FORCE_MATCHING_SIGNATURE from shsnc.long_sql)) where rownum<2';
v_sql02:='update shsnc.long_sql set count='||i.count ||' where FORCE_MATCHING_SIGNATURE='||i.fms;
execute immediate v_sql01;
commit;
execute immediate v_sql02;
commit;
end loop;
end;
/
create or replace procedure query_sql is
cursor fms is select FORCE_MATCHING_SIGNATURE as fms, count(1) as count
from sys.LARGE2S_TABLE
where FORCE_MATCHING_SIGNATURE > 0
and FORCE_MATCHING_SIGNATURE != EXACT_MATCHING_SIGNATURE
group by FORCE_MATCHING_SIGNATURE
having count(1) > 100
order by 2;
v_fms number;
v_sql01 varchar2(3999);
v_sql02 varchar2(3999);
begin
for i in fms loop
v_sql01:='insert into shsnc.long_sql(sql_id,FORCE_MATCHING_SIGNATURE,sql_text) select sql_id,FORCE_MATCHING_SIGNATURE,sql_fulltext from (select sql_id,FORCE_MATCHING_SIGNATURE,sql_fulltext from sys.LARGE2S_TABLE where FORCE_MATCHING_SIGNATURE='||i.fms||' and sql_id is not null and FORCE_MATCHING_SIGNATURE not in (select FORCE_MATCHING_SIGNATURE from shsnc.long_sql)) where rownum<2';
v_sql02:='update shsnc.long_sql set count='||i.count ||' where FORCE_MATCHING_SIGNATURE='||i.fms;
execute immediate v_sql01;
commit;
execute immediate v_sql02;
commit;
end loop;
end;
/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29446986/viewspace-1331287/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle找出沒有使用繫結變數的sql語句Oracle變數SQL
- Oracle中如何查詢未使用繫結變數的SQL語句?Oracle變數SQL
- V$sql查詢未使用繫結變數的語句SQL變數
- 尋找沒有使用繫結變數的sql語句變數SQL
- 關於高效捕獲資料庫非繫結變數的SQL語句資料庫變數SQL
- 統計未用繫結變數的sql語句變數SQL
- 【效能優化】查詢繫結變數的sql語句優化變數SQL
- PLSQL中使用繫結變數的語法SQL變數
- Oracle 繫結變數Oracle變數
- Oracle之繫結變數Oracle變數
- 如何在對in操作使用變數繫結(轉)變數
- oracle 查詢未使用繫結變數的sqlOracle變數SQL
- oracle繫結變數的測試Oracle變數
- oracle中使用繫結變數的好處的例子Oracle變數
- ORACLE 繫結變數用法總結Oracle變數
- PLSQL使用繫結變數SQL變數
- 在oracle的plsql中為cursor使用繫結變數OracleSQL變數
- Oracle 繫結變數窺探Oracle變數
- oracle 繫結變數(bind variable)Oracle變數
- Oracle 繫結變數 詳解Oracle變數
- 【優化】使用繫結變數 OR 不使用繫結變數,這不是問題!優化變數
- 繫結變數優缺點、使用、繫結變數窺探、 Oracle自適應共享遊標變數Oracle
- 繫結變數的使用範圍變數
- 關於繫結變數的使用變數
- Oracle 變數繫結與變數窺視合集Oracle變數
- 【最佳化】使用繫結變數 OR 不使用繫結變數,這不是問題!變數
- 【ORACLE】Oracle繫結變數知識梳理Oracle變數
- 使用字面量或者繫結變數在HANA Studio裡執行SQL語句變數SQL
- 使用繫結變數的一點總結!變數
- ORACLE 獲取繫結變數值Oracle變數
- oracle繫結變數窺視(zt)Oracle變數
- Oracle、MySQL常見表結構變更語句對比OracleMySql
- 繫結變數變數
- Oracle面對“資料傾斜列使用繫結變數”場景的解決方案Oracle變數
- SQL Developer中使用繫結變數SQLDeveloper變數
- ORACLE優化實戰(繫結變數)Oracle優化變數
- 【原創】Oracle 變數繫結與變數窺視合集Oracle變數
- 【實驗】sql語句在shared_pool中的查詢(程式 繫結變數)SQL變數