【问题标题】:Error in procedure body + plsql程序主体 + plsql 中的错误
【发布时间】:2014-11-29 08:12:49
【问题描述】:

创建或替换过程 kwp_SCMP_KillSessionTEST 是

v_sql VARCHAR2(60); Cnt 整数:= 0; 光标 cur 是 select t.sql_id, t.detail, t.sid from TESTPROCE t;

开始

for 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.put_line(Cnt || '>>>>' || 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。机器,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 || '>>>>' || 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);

【问题讨论】:

  • 嗨,欢迎来到 Stack Overflow。您可能想通读一些有关如何提出好问题的帮助页面,然后单击“编辑”并添加一些您实际提出的问题的详细信息。您可以通过选择代码并单击文本区域工具栏中的{} 按钮来正确格式化代码。

标签: plsqldeveloper


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 2023-02-26
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 2018-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多