本人想学存储过程,不知从何处开始,请高手把你们写过的存储过程发一个给我,

解决方案 »

  1.   

    mysql> delimiter //mysql> CREATE PROCEDURE simpleproc (OUT param1 INT)
        -> BEGIN
        ->   SELECT COUNT(*) INTO param1 FROM t;
        -> END;
        -> //
    Query OK, 0 rows affected (0.00 sec)mysql> delimiter ;mysql> CALL simpleproc(@a);
    Query OK, 0 rows affected (0.00 sec)mysql> SELECT @a;
    +------+
    | @a   |
    +------+
    | 3    |
    +------+
    1 row in set (0.00 sec)
      

  2.   

    mysql>  delimiter //
    mysql>  create procedure upd(ss varchar(50),aa int)
        ->  begin
        ->  update ly set fbr=ss where Id=aa;
        ->  end //
    Query OK, 0 rows affected (0.00 sec)mysql>  call upd('dsdsad',8);//
    Query OK, 1 row affected (0.00 sec)mysql> select Id,fbr from ly where Id=8;//
    +----+--------+
    | Id | fbr    |
    +----+--------+
    |  8 | dsdsad |
    +----+--------+
    1 row in set (0.00 sec)
      

  3.   

    DELIMITER $$;DROP PROCEDURE IF EXISTS `test`.`sp_guests`$$CREATE DEFINER=`webuser`@`%` PROCEDURE `sp_guests`(web_name varchar(50), web_message longtext, web_email varchar(30))
    BEGIN
    declare cnt int;
    insert into guests values('',web_name,web_message,now(),web_email);
    select row_count() into cnt;
    select cnt;
    END$$DELIMITER ;$$