MySQL´æ´¢¹ý³ÌʵÀý
9.3 MySQL´æ´¢¹ý³Ì
MySQL 5.0ÒÔºóµÄ°æ±¾¿ªÊ¼Ö§³Ö´æ´¢¹ý³Ì£¬´æ´¢¹ý³Ì¾ßÓÐÒ»ÖÂÐÔ¡¢¸ßЧÐÔ¡¢°²È«ÐÔºÍÌåϵ½á¹¹µÈÌØµã£¬±¾½Ú½«Í¨¹ý¾ßÌåµÄʵÀý½²½âPHPÊÇÈçºÎ²Ù×ÝMySQL´æ´¢¹ý³ÌµÄ¡£
ʵÀý261£º´æ´¢¹ý³ÌµÄ´´½¨
ÕâÊÇÒ»¸ö´´½¨´æ´¢¹ý³ÌµÄʵÀý
¼ÏñλÖ㺹âÅÌ\mingrisoft\09\261
ʵÀý˵Ã÷
ΪÁ˱£Ö¤Êý¾ÝµÄÍêÕûÐÔ¡¢Ò»ÖÂÐÔ£¬Ìá¸ßÓ¦ÓõÄÐÔÄÜ£¬³£²ÉÓô洢¹ý³Ì¼¼Êõ¡£MySQL 5.0֮ǰµÄ°æ±¾²¢²»Ö§³Ö´æ´¢¹ý³Ì£¬Ëæ×ÅMySQL¼¼ÊõµÄÈÕÇ÷ÍêÉÆ£¬´æ´¢¹ý³Ì½«ÔÚÒÔºóµÄÏîÄ¿Öеõ½¹ã·ºµÄÓ¦Óᣱ¾ÊµÀý½«½éÉÜÔÚMySQL 5.0ÒÔºóµÄ°æ±¾Öд´½¨´æ´¢¹ý³Ì¡£
¼¼ÊõÒªµã
Ò»¸ö´æ´¢¹ý³Ì°üÀ¨Ãû×Ö¡¢²ÎÊýÁÐ±í£¬ÒÔ¼°¿ÉÒÔ°üÀ¨ºÜ¶àSQLÓï¾äµÄSQLÓï¾ä¼¯¡£ÏÂÃæÎªÒ»¸ö´æ´¢¹ý³ÌµÄ¶¨Òå¹ý³Ì£º
create procedure proc_name (in parameter integer)
begin
declare variable varchar(20);
if parameter=1 then
set variable='MySQL';
else
set variable='PHP';
end if;
insert into tb (name) values (variable);
end;
MySQLÖд洢¹ý³ÌµÄ½¨Á¢ÒԹؼü×Öcreate procedure¿ªÊ¼£¬ºóÃæ½ô¸ú´æ´¢¹ý³ÌµÄÃû³ÆºÍ²ÎÊý¡£MySQLµÄ´æ´¢¹ý³ÌÃû³Æ²»Çø·Ö´óСд£¬ÀýÈçPROCE1()ºÍproce1()´ú±íͬһ¸ö´æ´¢¹ý³ÌÃû¡£´æ´¢¹ý³ÌÃû²»ÄÜÓëMySQLÊý¾Ý¿âÖеÄÄÚ½¨º¯ÊýÖØÃû¡£
´æ´¢¹ý³ÌµÄ²ÎÊýÒ»°ãÓÉ3²¿·Ö×é³É¡£µÚÒ»²¿·Ö¿ÉÒÔÊÇin¡¢out»òinout¡£in±íʾÏò´æ´¢¹ý³ÌÖд«Èë²ÎÊý£»out±íʾÏòÍâ´«³ö²ÎÊý£»inout±íʾ¶¨ÒåµÄ²ÎÊý¿É´«Èë´æ´¢¹ý³Ì£¬²¢¿ÉÒÔ±»´æ´¢¹ý³ÌÐ޸ĺ󴫳ö´æ´¢¹ý³Ì£¬´æ´¢¹ý³ÌĬÈÏΪ´«Èë²ÎÊý£¬ËùÒÔ²ÎÊýin¿ÉÒÔÊ¡ÂÔ¡£µÚ¶þ²¿·ÖΪ²ÎÊýÃû¡£µÚÈý²¿·ÖΪ²ÎÊýµÄÀàÐÍ£¬¸ÃÀàÐÍΪMySQLÊý¾Ý¿âÖÐËùÓпÉÓõÄ×Ö¶ÎÀàÐÍ£¬Èç¹ûÓжà¸ö²ÎÊý£¬²ÎÊýÖ®¼ä¿ÉÒÔÓöººÅ½øÐзָ
MySQL´æ´¢¹ý³ÌµÄÓï¾ä¿éÒÔbegin¿ªÊ¼£¬ÒÔend½áÊø¡£Óï¾äÌåÖпÉÒÔ°üº¬±äÁ¿µÄÉùÃ÷¡¢¿ØÖÆÓï¾ä¡¢SQL²éѯÓï¾äµÈ¡£ÓÉÓÚ´æ´¢¹ý³ÌÄÚ²¿Óï¾äÒªÒԷֺŽáÊø£¬ËùÒÔÔÚ¶¨Òå´æ´¢¹ý³ÌǰӦ½«Óï¾ä½áÊø±êÖ¾“;”¸ü¸ÄΪÆäËû×Ö·û£¬²¢ÇÒ¸Ã×Ö·ûÔÚ´æ´¢¹ý³ÌÖгöÏֵļ¸ÂÊÒ²Ó¦¸Ã½ÏµÍ£¬¿ÉÒÔÓùؼü×Ödelimiter¸ü¸Ä¡£ÀýÈ磺
mysql>delimiter //
´æ´¢¹ý³Ì´´½¨Ö®ºó£¬¿ÉÓÃÈçÏÂÓï¾ä½øÐÐɾ³ý£¬²ÎÊýproc_nameÖ¸´æ´¢¹ý³ÌÃû¡£
drop procedure proc_name
ʵÏÖ¹ý³Ì
£¨1£©MySQL´æ´¢¹ý³ÌÊÇÔÚ“ÃüÁîÌáʾ·û”Ï´´½¨µÄ£¬ËùÒÔÊ×ÏÈÓ¦¸Ã´ò¿ª“ÃüÁîÌáʾ·û”´°¿Ú¡£
£¨2£©½øÈë“ÃüÁîÌáʾ·û”´°¿Úºó£¬Ê×ÏÈÓ¦¸ÃµÇ¼MySQLÊý¾Ý¿â·þÎñÆ÷£¬ÔÚ“ÃüÁîÌáʾ·û”ÏÂÊäÈëÈçÏÂÃüÁ
Ïà¹ØÎĵµ£º
mysql 5.0´æ´¢¹ý³Ìѧϰ×ܽá
Ò».´´½¨´æ´¢¹ý³Ì
1.»ù±¾Óï·¨£º
create procedure sp_name()
begin
………
end
2.²ÎÊý´«µÝ
¶þ.µ÷Óô洢¹ý³Ì
1.»ù±¾Óï·¨£ºcall sp_name()
×¢Ò⣺´æ´¢¹ý³ÌÃû³ÆºóÃæ±ØÐë¼ÓÀ¨ºÅ£¬ÄÄŸô洢¹ý³ÌûÓвÎÊý´«µÝ
Èý.ɾ³ý´æ´¢¹ý³Ì
1.»ù±¾Óï·¨£º
drop procedure sp_name// ......
×òÌ죬ÎÒͻȻÏë°ÑÒ»¸öÊý¾Ý¿âÀïµÄÿ¸ö±í£¬ÒÔ¼°Ã¿¸ö±íµÄ·Ç¿Õ×ܼͼÊý´æÔÚÁíÒ»¸ö±íÀïÃæ¡£
Ê×ÏÈ£¬´´½¨ÁËÒ»¸ö´æ·ÅÊý¾ÝµÄ±í£º
create table tables
(
name varchar(50),
number int
);
insert into tables select table_name from information_schema.tables where table_shema = 'test';
µ«ÊDz»ÖªµÀÓÐûÓз½·¨£¬½«·Ç¿ÕµÄ ......
¿ÉÒÔ½«Õâ¸ö½Å±¾·Å½øcrontab£¬ËûµÄÅäÖÆÎļþÔÚ /etc/crontabÖÐÿÌìÁ賿ִÐÐÒ»´Î£¬×Ô¶¯±¸·Ý Õâ¸ö½Å±¾Ã¿Ìì×î¶àÖ»Ö´ÐÐÒ»´Î£¬¶øÇÒÖ»±£Áô×î½üÎåÌìµÄ±¸·ÝÔÚ·þÎñÆ÷ÉÏ¡£
#!/bin/bash
#This is a ShellScript For Auto DB Backup
#Powered by aspbiz
#2004-09
#Setting
#ÉèÖÃÊý¾Ý¿âÃû£¬Êý¾Ý¿âµÇ¼Ãû£¬ÃÜÂ룬±¸·Ý·¾¶£¬ÈÕ־ ......
Ò»¡¢½¨±í
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`ID` int(11) NOT NULL auto_increment,
`NAME` varchar(16) NOT NULL default '',
`REMARK` varchar(16) NOT NULL default '',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8;
&nb ......