MGR-00072: Warning: PROCEDURE UP_YS_LSH created with compilation errors.

解决方案 »

  1.   

    as_table_name varchar2,
    outlsh out varchar2
    1.应该为@as_table_name varchar2,注意"@"号。
    2.@outlsh 和 out之间的空格好象不和法。
    3.ui_count 没定义吧。
      

  2.   

    outlsh:= outlsh + 1; 即可
      

  3.   

    不行啊
    我的是ORACLE数据库
      

  4.   

    update lsh set lsh =outlsh where tablename = as_table_name;应为:
     update ys_lsh set lsh =outlsh where tablename = as_table_name;你的表名错了
      

  5.   

    to guostong(笨驴):多谢了
    啊,我...怎么这么不细心
    还是不行。报同样的错
      

  6.   

    Create Or Replace procedure up_ys_lsh
    (
    as_table_name varchar2,
    outlsh out varchar2
    )
    As
    ui_count integer; /*是否存在记录*/
    Begin
    select count(*) Into ui_count from ys_lsh where tablename = as_table_name;
      If ui_count <> 1 Then
          raise_application_error(-20000,'该字段不能自动派生值。');
          return;
      Else
          select lsh into outlsh from ys_lsh where tablename = as_table_name;
    If outlsh is null Then
          outlsh:= '1';
      Else
          outlsh:= to_char(to_number(outlsh) + 1);
      End if;
          update ys_lsh set lsh =outlsh where tablename = as_table_name;
      End If;
      return;
    End;没有任何问题呀?
      

  7.   

    我在as后面加了一个declare,所以出错了。
    请教一下,declar起什么作用啊
      

  8.   

    as 后面不需要 declare
    写 trigger 时需要