本帖最后由 agai001 于 2011-05-20 11:19:54 编辑

解决方案 »

  1.   

    delimiter $$
    CREATE PROCEDURE `P0001Insert`(p_PNO VARCHAR(10), p_TITLE VARCHAR(100), p_NAME VARCHAR(100))
    BEGIN
    select count(*) into @num from P0001 where PNO =p_PNO;
       if @num>1 then
       insert into P0001(PNO, TITLE, NAME)values (p_PNO, p_TITLE, p_NAME);
       else
       update P0001 set TITLE = p_TITLE, NAME = p_NAME where PNO = p_PNO;
       end if;
    END$$
    delimiter ;
      

  2.   


    delimiter //
    CREATE PROCEDURE `P0001Insert`(p_PNO VARCHAR(10), p_TITLE VARCHAR(100), p_NAME VARCHAR(100))
    BEGIN
     if  (select 1 from P0001 where PNO =p_PNO) is null then
       insert into P0001(PNO, TITLE, NAME)values (p_PNO, p_TITLE, p_NAME);
     else
       update P0001 set TITLE = p_TITLE, NAME = p_NAME where PNO = p_PNO;
     end if;
    END;
    //