char(10) 改为 char调试错误 用sho errors

解决方案 »

  1.   

    报的是什么错误呀,不过规范点的话,写存储过程时最好:
    CREATE OR REPLACE PROCEDURE Insert_Leader(
    ……
    不然,如果数据库中已经存在该过程时也会报错:)
      

  2.   

    if LeaderName =''改为:
    if lengeh(ltrim(rtrim(LeaderName))) = 0
      

  3.   

    if LeaderName =''
      begin
        Result := '负责人姓名不可为空';
      exit;
      end if ;应改为if LeaderName ='' then
      Result := '负责人姓名不可为空';
      exit;
     end if ;
      

  4.   

    修改后,编译还是通不过,不过只剩一个Bugcreate Procedure Insert_Leader(
    LeaderName In char,
    LeaderPhone In char,
    LeaderFax In Char,
    Result Out char)
    As
    begin
      if length(Ltrim(Rtrim(LeaderName)) =0 then
        Result := '负责人姓名不可为空';
        exit;
      end if;
      Insert Into Leader Values(1,LeaderName,LeaderPhone,LeaderFax);
      Result := '成功增加负责人记录';
      exception
        Result ='增加负责人记录失败';
    end Insert_Leader;
    提示Exception 问题
    Exception如何使用,我想判断往表中插入记录,如果出错,就执行Exception后的语句,不胜感谢,调试通过,一定给分
      

  5.   

    Result ='增加负责人记录失败';------> Result :='增加负责人记录失败';
      

  6.   

    create Procedure Insert_Leader(
    LeaderName In char,
    LeaderPhone In char,
    LeaderFax In Char,
    Result Out char)
    As
    begin
      if LeaderName is null then
        Result := '负责人姓名不可为空';
        exit;
      end if;
      Insert Into Leader Values('1',LeaderName,LeaderPhone,LeaderFax);
      Result := '成功增加负责人记录';
      exception
      when others then
        Result ='增加负责人记录失败';
    end Insert_Leader;
    /
      

  7.   

    同意  beckhambobo(beckham)
      

  8.   

    同意个头
    我看还是 
    回复人: dihai2000(haifeng)
    的对
      

  9.   

    exception
        Result ='增加负责人记录失败';
    应该改为:
    EXCEPTION
      WHEN OTHERS THEN
      Result ='增加负责人记录失败';
      

  10.   

    把beckhambobo(beckham)代码中的
    when others then
        Result ='增加负责人记录失败';
     改为:
    when others then
      Result :='增加负责人记录失败';
      

  11.   


    create Procedure Insert_Leader(
    LeaderName In varchar2,
    LeaderPhone In varchar2,
    LeaderFax In varchar2,
    Result Out varchar2)
    As
    begin
      if LeaderName is null then
        Result := '负责人姓名不可为空';
        exit;
      end if;
      Insert Into Leader Values(1,LeaderName,LeaderPhone,LeaderFax);
      Result := '成功增加负责人记录';
      exception
      when others then
        Result :='增加负责人记录失败';
    end Insert_Leader;
    改正后,提示Exit语句出错,Oracle中退出存储过程是这条语句吗
      

  12.   

    把exit改为return, exit用于退出循环。
      

  13.   

    sorry,忘记了提醒一句:
    Error: PLS-00376: illegal EXIT statement; it must appear inside a loop只能用在循环条件语句。create or replace procedure name_pro(p1 in varchar2,p2 out varchar2)
    as
    begin
    if p1='1' then
    p2:='yes';
    return;
    end if;
    p2:='no';
    end;
    /SQL> set serveroutput on
    SQL> declare
      2  a varchar2(10);
      3  begin
      4  name_pro('1',a);
      5  dbms_output.put_line(a);
      6  end;
      7  /
    yes