MysqlµÄÓα꾿¾¹ÔõôÓÖӳÈպɻ¨±ðÑùºì
MysqlµÄÓα꾿¾¹ÔõôÓÖӳÈպɻ¨±ðÑùºì
Mysql´Ó5.0¿ªÊ¼Ö§³Ö´æ´¢¹ý³ÌºÍtrigger£¬¸øÎÒÃÇϲ»¶ÓÃmysqlµÄÅóÓÑÃǸüϲ»¶mysqlµÄÀíÓÉÁË£¬Óï·¨
ÉϺÍPL/SQLÓвî±ð£¬²»¹ý¸ã¹ý±à³ÌµÄÈ˶¼ÖªµÀ£¬Óï·¨²»ÊÇÎÊÌ⣬¹Ø¼üÊÇ˼Ï룬´óÖÂÁ˽âÓï·¨ºó£¬¾Í´Ó
±äÁ¿¶¨Ò壬ѻ·£¬Åжϣ¬Óα꣬Òì³£´¦ÀíÕâ¸ö¼¸¸ö·½ÃæÏêϸѧϰÁË¡£¹ØÓÚÓαêµÄÓ÷¨MysqlÏÖÔÚÌṩ
µÄ»¹ºÜÌØ±ð£¬ËäȻʹÓÃÆðÀ´Ã»ÓÐPL/SQLÄÇô˳ÊÖ£¬²»¹ýʹÓÃÉÏ´óÖÂÉÏ»¹ÊÇÒ»Ñù£¬
¶¨ÒåÓαê
declare fetchSeqCursor cursor for select seqname, value from sys_sequence;
ʹÓÃÓαê
open fetchSeqCursor£»
fetchÊý¾Ý
fetch cursor into _seqname, _value;
¹Ø±ÕÓαê
close fetchSeqCursor;
²»¹ýÕâ¶¼ÊÇÕë¶ÔcursorµÄ²Ù×÷¶øÒÑ£¬ºÍPL/SQLûÓÐÊ²Ã´Çø±ð°É£¬²»¹ý¹âÊÇÁ˽⵽Õâ¸öÊǸù±¾²»×ãÒÔ
д³öMysqlµÄfetch¹ý³ÌµÄ£¬»¹ÒªÁ˽âÆäËûµÄ¸üÉîÈëµÄ֪ʶ£¬ÎÒÃDzÅÄÜÕæÕýµÄд³öºÃµÄÓαêʹÓõÄproc
edure
Ê×ÏÈfetchÀë²»¿ªÑ»·Óï¾ä£¬ÄÇôÏÈÁ˽âÒ»ÏÂÑ»·°É¡£
ÎÒÒ»°ãʹÓÃLoopºÍwhile¾õµÃ±È½ÏÇå³þ£¬¶øÇÒ´úÂë¼òµ¥¡£
ÕâÀïʹÓÃLoopΪÀý
fetchSeqLoop:Loop
fetch cursor into _seqname, _value;
end Loop;
ÏÖÔÚÊÇËÀÑ»·£¬»¹Ã»ÓÐÍ˳öµÄÌõ¼þ£¬ÄÇôÔÚÕâÀïºÍoracleÓÐÇø±ð£¬OracleµÄPL/SQLµÄÖ¸ÕëÓиöÒþÐÔ±ä
Á¿%notfound£¬MysqlÊÇͨ¹ýÒ»¸öError handlerµÄÉùÃ÷À´½øÐÐÅжϵģ¬
declare continue handler for Not found (do some action);
ÔÚMysqlÀïµ±Óαê±éÀúÒç³öʱ£¬»á³öÏÖÒ»¸öÔ¤¶¨ÒåµÄNOT FOUNDµÄError£¬ÎÒÃÇ´¦ÀíÕâ¸öError²¢¶¨ÒåÒ»
¸öcontinueµÄhandler¾Í¿ÉÒÔß·£¬¹ØÓÚMysql Error handler¿ÉÒÔ²éѯMysqlÊÖ²á
¶¨ÒåÒ»¸öflag£¬ÔÚNOT FOUND£¬±êʾFlag,ÔÚLoopÀïÒÔÕâ¸öflagΪ½áÊøÑ»·µÄÅжϾͿÉÒÔß·¡£
declare fetchSeqOk boolean; ## define the flag for loop judgement
declare _seqname varchar(50); ## define the varient for store the data
declare _value bigint(20);
declare fetchSeqCursor cursor for select seqname, value from sys_sequence;## define the cursor
declare continue handler for NOT FOUND set fetchSeqOk = true; ## define the continue handler for not
found flag
set fetchSeqOk = false;
open fetchSeqCursor;
fetchSeqLoop:Loop
if fetchSeqOk then
leave fetchSeqLoop;
else
fetch cursor into _seqname, _value;
select _seqname, _value;
end if;
end Loop;
close fetchSeqCur
Ïà¹ØÎĵµ£º
mysql 5.0´æ´¢¹ý³Ìѧϰ×ܽá
Ò».´´½¨´æ´¢¹ý³Ì
1.»ù±¾Óï·¨£º
create procedure sp_name()
begin
………
end
2.²ÎÊý´«µÝ
¶þ.µ÷Óô洢¹ý³Ì
1.»ù±¾Óï·¨£ºcall sp_name()
×¢Ò⣺´æ´¢¹ý³ÌÃû³ÆºóÃæ±ØÐë¼ÓÀ¨ºÅ£¬ÄÄŸô洢¹ý³ÌûÓвÎÊý´«µÝ
Èý.ɾ³ý´æ´¢¹ý³Ì
1.»ù±¾Óï·¨£º
drop procedure sp_name// ......
±¸·ÝMySQLÊý¾Ý¿âµÄÃüÁî
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
±¸·ÝMySQLÊý¾Ý¿âΪ´øÉ¾³ý±íµÄ¸ñʽ
±¸·ÝMySQLÊý¾Ý¿âΪ´øÉ¾³ý±íµÄ¸ñʽ£¬Äܹ»Èøñ¸·Ý¸²¸ÇÒÑÓÐÊý¾Ý¿â¶ø²»ÐèÒªÊÖ¶¯É¾³ýÔÓÐÊý¾Ý¿â¡£
mysqldump -–add-drop-table -uusername -ppassword databasename > bac ......
±¾ÎÄÌÖÂÛ MySQL µÄ±¸·ÝºÍ»Ö¸´»úÖÆ£¬ÒÔ¼°ÈçºÎά»¤Êý¾Ý±í£¬°üÀ¨×îÖ÷ÒªµÄÁ½ÖÖ±íÀàÐÍ£ºMyISAM ºÍ Innodb£¬ÎÄÖÐÉè¼ÆµÄ MySQL °æ±¾Îª 5.0.22¡£
Ŀǰ MySQL Ö§³ÖµÄÃâ·Ñ±¸·Ý¹¤¾ßÓУºmysqldump¡¢mysqlhotcopy£¬»¹¿ÉÒÔÓà SQL Óï·¨½øÐб¸·Ý£ºBACKUP TABLE »òÕß SELECT INTO OUTFILE£¬ÓÖ»òÕß±¸·Ý¶þ½øÖÆÈÕÖ¾£¨binlog£©£¬»¹¿ÉÒÔÊÇÖ±½Ó¿½± ......
Ô×÷£ºÑîÌÎ(ÉϵÛËû°Ö)
Ò»Ö±ÏëµÈµ½BETA°æ³öÀ´ÔÙÊÔÑéµÄ£¬¿É»¹ÊǾ²»×¡ÓÕ»ó°¢,ÏÂÎçÖÕÓÚÓÐʱ¼ä²âÊÔÒ»ÏÂÁË¡£
£¨±¾ÎIJο¼µØÖ·£ºhttp://blog.chinaunix.net/u/8111/showart.php?id=451420£©
Ò»¡¢±Ø±¸Èí¼þ£º
1¡¢LUA
¿ÉÒÔÈ¥LUAµÄ¹Ù·½ÏÂÔØ£ºwww.lua.org
2¡¢MySQL Proxy
ÕâÀïÓкöà¶þ½øÖư汾¡£
& ......
Ò»¡¢½¨±í
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 ......