创建或替换过程kwp_SCMP_KillSessionTEST为
v_sql VARCHAR2(60);Cnt整数:=0;光标cur是从TESTPROCE t中选择t.sql_id、t.detail、t.sid;
开始
对于当前循环中的i
begin
cnt := cnt + 1;
select distinct S.SID, S.SERIAL#, s. MACHINE, s.SQL_ID, s.EVENT
from V$SESSION S , TESTPROCE
where s.username <> 'SYS'
and s.sql_id = t.sql_id
and s.type <> 'BACKGROUND';
v_sql := 'ALTER SYSTEM KILL SESSION ''' || i.sid || ',' || i.serial# ||
''' immediate';
dbms_output.put_line(Cnt || '>>>>' || SQLID);
--execute immediate (v_sql);
end;
末端回路;
dbms_output_line(Cnt||'>>>'||SQLID);
结束kwp_SCMP_KillSessionTEST;
PROCEDURE SYS.KWP_SCMP_KILLESSIONTEST 的编译错误
错误:PL/SQL:ORA-00904:"T"。"SQL_ID":无效标识符线路:21文本:和s.sql_id=t.sql_id
错误:PL/SQL:SQL语句被忽略线路:18文本:选择不同的S.SID、S.SERIAL#、S.MACHINE、S.SQL_ID、S.EVENT
错误:PLS-00302:必须声明组件"SERIAL#"线路:23Text:v_sql:="ALTER SYSTEM KILL SESSION"||i.sid|','||i.serial#||
错误:PL/SQL:忽略语句线路:23Text:v_sql:="ALTER SYSTEM KILL SESSION"||i.sid|','||i.serial#||
错误:PLS-00201:必须声明标识符"SQLID"线路:25文本:dbms_output.put_line(Cnt||'>>>'||SQLID);
错误:PL/SQL:忽略语句线路:25文本:dbms_output.put_line(Cnt||'>>>'||SQLID);
错误:PLS-00201:必须声明标识符"SQLID"线路:31文本:dbms_output.put_line(Cnt||'>>>'||SQLID);
错误:PL/SQL:忽略语句线路:31文本:dbms_output.put_line(Cnt||'>>>'||SQLID);
编译器是正确的;该代码中存在一些基本的语法错误。先解决这些问题,然后以问题的形式重新提交。