mysql´æ´¢¹ý³ÌµÄ¼òµ¥Ó¦ÓÃ
¶Ômysql´æ´¢¹ý³ÌµÄ¼òµ¥Ó¦ÓÃ
Ïò±íÖвåÈëÄ£ÄâÊý¾Ý£¬¼ì²é·ÖҳЧ¹ûÊÇ·ñ³ö´í¡£
create procedure dowhile()
begin
declare cnt INT default 0;
while cnt<100 do
INSERT INTO `test`.`news` (`F_ID` ,`F_TITLE` ,`F_CLASSID` ,`F_ISUP` ,`F_CONTENT` ,`F_SOURCE` ,`F_DATETIME` ,`F_READCOUNT` )VALUES (NULL , 'title', '2', '', 'content', '', '', '');
set cnt=cnt+1;
end while;
end//
-----------------------------------------
×¢Òâ:ÉèÖÃdelimiter //
²Î¿¼:http://dev.mysql.com/doc/refman/5.1/zh/stored-procedures.html
¸½:mysql 5.0´æ´¢¹ý³Ìѧϰ×ܽá
Ò».´´½¨´æ´¢¹ý³Ì
1.»ù±¾Óï·¨£º
create procedure sp_name()
begin
………
end
2.²ÎÊý´«µÝ
¾ÙÀý:
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)
Á´½ÓµØÖ·:http://dev.mysql.com/doc/refman/5.0/en/create-procedure.html
ÔÚÃüÁîÐÐÔËÐÐÕýÈ·£¬µ«ÔÚphpMyadminÏÂÔËÐгöÏÖ´íÎó#1312 - PROCEDURE jlnu.procedure1 can't return a result set in the given context ĿǰûÓÐÕÒµ½ÔÒò¡£
¶þ.µ÷Óô洢¹ý³Ì
1.»ù±¾Óï·¨£ºcall sp_name()
×¢Ò⣺´æ´¢¹ý³ÌÃû³ÆºóÃæ±ØÐë¼ÓÀ¨ºÅ£¬ÄÄŸô洢¹ý³ÌûÓвÎÊý´«µÝ
Èý.ɾ³ý´æ´¢¹ý³Ì
1.»ù±¾Óï·¨£º
drop procedure sp_name//
2.×¢ÒâÊÂÏî
(1)²»ÄÜÔÚÒ»¸ö´æ´¢¹ý³ÌÖÐɾ³ýÁíÒ»¸ö´æ´¢¹ý³Ì£¬Ö»Äܵ÷ÓÃÁíÒ»¸ö´æ´¢¹ý³Ì
ËÄ.Çø¿é£¬Ìõ¼þ£¬Ñ»·
1.Çø¿é¶¨Ò壬³£ÓÃ
begin
……
end;
Ò²¿ÉÒÔ¸øÇø¿éÆð±ðÃû£¬È磺
lable:begin
………..
end lable;
¿ÉÒÔÓÃleave lable;Ìø³öÇø¿é£¬Ö´ÐÐÇø¿éÒÔºóµÄ´úÂë
2.Ìõ¼þÓï¾ä
if Ìõ¼þ then
statement
else
statement
end if;3.Ñ»·Óï¾ä
(1).whileÑ»·
[label:] WHILE expression DO
statements
END WHILE [label] ;
(2).loopÑ»·
[lab
Ïà¹ØÎĵµ£º
LAMPÕâ¸ö´ÊµÄÓÉÀ´×îÔçʼÓڵ¹úÔÓÖ¾“c't Magazine”£¬Michael KunzeÔÚ1990Äê×îÏȰÑÕâЩÏîÄ¿×éºÏÔÚÒ»Æð´´ÔìÁËLAMPµÄËõд×Ö¡£ÕâЩ×é¼þËäÈ»²¢²»ÊÇ¿ª¿ªÊ¼¾ÍÉè¼ÆÎªÒ»ÆðʹÓõ쬵«ÊÇ£¬ÕâЩ¿ªÔ´Èí¼þ¶¼¿ÉÒԺܷ½±ãµÄËæÊ±»ñµÃ²¢Ãâ·Ñ»ñµÃ¡£Õâ¾Íµ¼ÖÂÁËÕâЩ×é¼þ¾³£ÔÚÒ»ÆðʹÓá£ÔÚ¹ýÈ¥µÄ¼¸ÄêÀÕâЩ×é¼þµÄ¼æÈÝÐÔ²»¶ÏÍêÉÆ£¬Ô ......
1¡¢Èç¹ûÄãµÄÊý¾ÝÖ´ÐдóÁ¿µÄINSERT»òUPDATE£¬³öÓÚÐÔÄÜ·½ÃæµÄ¿¼ÂÇ£¬Ó¦¸ÃʹÓÃInnoDB±í¡£
Èç¹ûÖ´ÐдóÁ¿µÄSELECT£¬MyISAMÊǸüºÃµÄÑ¡Ôñ¡£
2¡¢ÎÒÐèҪʹÓÃÊÂÎñ´¦Àí£¬µ«ÊÇÔÀ´µÄÊý¾Ý±íʹÓõÄÊÇmyisam£¬¾ÍÐèÒª¸ÄΪbdb»òÕßinnodb£¬ÕâÑù»ùÓÚmyisamµÄ³ÌÐò£¬½«ÀàÐ͸ÄΪinnodbºó£¬ÔÀ´µÄ³ÌÐòÊDz»Ðè ......
ÎÒÃǵÄÏîÄ¿ÖÐÓкö಻µÈÓÚµÄÇé¿ö¡£½ñÌìдÕâÆªÎÄÕ¼òµ¥µÄ·ÖÎöÒ»ÏÂÔõô¸öÓÅ»¯·¨¡£
ÕâÀïµÄ·Ö±íÂß¼ÊǸù¾Ýt_group±íµÄuser_name×éµÄ¸öÊýÀ´·ÖµÄ¡£
ÒòΪÕâÖÖÇé¿öµ¥¶Àuser_name×Ö¶ÎÉϵÄË÷Òý¾ÍÊôÓÚÀÃË÷Òý¡£Æð²»ÁËɶÃûÃ÷ÏÔµÄЧ¹û¡£
1¡¢ÊÔÑéPROCEDURE.
DELIMITER $$
DROP PROCEDURE `t_girl`.`sp_split_table`$$
CREATE PROCE ......
а²×°ºóµÄmysqlÊý¾Ý¿â£¬ÆäĬÈϵÄ×î´óÁ¬½ÓÊýΪ100¡£
·½·¨Ò»£º
ÔÚmysql°²×°Â·¾¶Ï£¬ÕÒµ½my.ini»òÕßmy.cnfÎļþ£¬´ò¿ªËüÕÒµ½max_connections,ÉèÖóÉ1000; È»ºóÖØÆômysql·þÎñ¡£
·½·¨¶þ£º
ÔÚmysqlÔËÐл·¾³Ï£¬½øÈëmysqlÃüÁîÏ£º
mysql> set global max_connections=1000;
È»ºó¹Ø±ÕmysqlÖØÆôËü£»
ÔÚ./bin·¾¶Ï£¬Ê¹Óà # ......