var 1 VARCHAR2(32);
var 2 VARCHAR2(32);
var 3 VARCHAR2(32);
var 4 VARCHAR2(32);
var 5 VARCHAR2(32);
exec :1 :='1220364436';
exec :2 :='175';
exec :3 :='1220364436';
exec :4 :='18979965876';
exec :5 :='175';
alter session set current_schema=ELISTJSOPR;
merge /*+index(a IX_LCS_MIS_APP_REGISTER_EMP)*/into lcs_mis_app_register a --CHAD5
using dual
on (a.statis_date = trunc(sysdate, 'mm') and a.empno = :1)
when matched then
update set a.cnt = :2
when not matched then
insert
(statis_date, empno, mobile_no, cnt)
values
(trunc(sysdate, 'mm'), :3, :4, :5)
-----替换执行计划
var x number;
exec :x := dbms_spm.LOAD_PLANS_FROM_CURSOR_CACHE(SQL_ID=> '3u0hdmwqbfqnw',PLAN_HASH_VALUE => '1994681556',SQL_HANDLE=> 'SQL_ec04b01d965e5caa');
SQL_HANDLE是原来坏的。
SQL_ID与plan_hash_value是优化后的。
var 2 VARCHAR2(32);
var 3 VARCHAR2(32);
var 4 VARCHAR2(32);
var 5 VARCHAR2(32);
exec :1 :='1220364436';
exec :2 :='175';
exec :3 :='1220364436';
exec :4 :='18979965876';
exec :5 :='175';
alter session set current_schema=ELISTJSOPR;
merge /*+index(a IX_LCS_MIS_APP_REGISTER_EMP)*/into lcs_mis_app_register a --CHAD5
using dual
on (a.statis_date = trunc(sysdate, 'mm') and a.empno = :1)
when matched then
update set a.cnt = :2
when not matched then
insert
(statis_date, empno, mobile_no, cnt)
values
(trunc(sysdate, 'mm'), :3, :4, :5)
-----替换执行计划
var x number;
exec :x := dbms_spm.LOAD_PLANS_FROM_CURSOR_CACHE(SQL_ID=> '3u0hdmwqbfqnw',PLAN_HASH_VALUE => '1994681556',SQL_HANDLE=> 'SQL_ec04b01d965e5caa');
SQL_HANDLE是原来坏的。
SQL_ID与plan_hash_value是优化后的。