我是个菜鸟,接触数据库时间不长,现在在写一个MYSQL的存储过程,遇到两个其实很小的问题,可是我在网上到处都查不到相关的信息,还请各位大虾指点一下
   1.select ID from test1 where ID=ID,在存储过程中我需要把查到的哪个ID存到一个变量A中,该怎么才能实现呢?
   2.在存储过程中需要象外报一些错误信息,如何在存储过程中象外报错呢?
   下面是一个很弱智的存储过程,可是里面的一几个问题我死活都想不明白
create procedure test()
begin
declare charge int;
select charge =ID from test1 where ID=1;      //charge =ID赋值失败,该怎么才能把ID赋值给查charge呢?
if(charge=1) then
向外报出查charge取值错误,这个我不知道该怎么实现
end;刚学没多久,问的问题可能真的很傻,还请各位不吝指导。谢谢了

解决方案 »

  1.   


    delimiter ||
    create procedure test()
    begin
      declare charge int;
      select   charge:=ID   from   test1   where   ID=1; 或者 select ID from test1 where ID=1 into charge;
      if charge = 1 then
        select 'Error';
      end if;
    end||
    delimiter ;
      

  2.   

    LS的也可以变为set charge=(select id from test1 where id=1);
      

  3.   

    也可以是
    SELECT `charge` INTO `ID` FROM `tbl_name` WHERE conditions;
    :)
      

  4.   

    create   procedure   test() 
    begin 
    declare   charge   int; 
    select   ID into charge  from   test1   where   ID=1;
    if(charge=1)   then 
       select '报错信息';
    end; 
      

  5.   

    create       procedure       test()   
    begin   
    declare       charge       int;   
    select       ID   into   charge     from       test1       where       ID=1; 
    if  charge = 1      then   
          select   '报错信息 '; 
    end if; 呵呵,修正一下!