创建或替换程序kwp_SCMP_KillSessionTEST是
v_sql VARCHAR2(60); Cnt整数:= 0; 光标是 从TESTPROCE t中选择t.sql_id,t.detail,t.sid;
开始
for i in cur loop
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;
END LOOP;
dbms_output.put_line(Cnt ||'&gt;&gt;&gt;&gt;'|| SQLID);
结束kwp_SCMP_KillSessionTEST;
PROCEDURE SYS.KWP_SCMP_KILLSESSIONTEST的编译错误
错误: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#' 行:23 文字:v_sql:='ALTER SYSTEM KILL SESSION'''|| i.sid || ','|| i.serial#||
错误:PL / SQL:语句被忽略 行:23 文字:v_sql:='ALTER SYSTEM KILL SESSION'''|| i.sid || ','|| i.serial#||
错误:PLS-00201:必须声明标识符“SQLID” 行:25 文本:dbms_output.put_line(Cnt ||'&gt;&gt;&gt;&gt;'|| SQLID);
错误:PL / SQL:语句被忽略 行:25 文本:dbms_output.put_line(Cnt ||'&gt;&gt;&gt;&gt;'|| SQLID);
错误:PLS-00201:必须声明标识符“SQLID” 行:31 文本:dbms_output.put_line(Cnt ||'&gt;&gt;&gt;&gt;'|| SQLID);
错误:PL / SQL:语句被忽略 行:31 文本:dbms_output.put_line(Cnt ||'&gt;&gt;&gt;&gt;'|| SQLID);
答案 0 :(得分:-1)
编译器是正确的;该代码中存在一些基本的语法错误。首先解决这些问题,然后以问题的形式重新提交。