过程体+ plsql出错

时间:2014-10-04 12:52:09

标签: plsqldeveloper

创建或替换程序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);

1 个答案:

答案 0 :(得分:-1)

编译器是正确的;该代码中存在一些基本的语法错误。首先解决这些问题,然后以问题的形式重新提交。