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// ......
1.Á¬½ÓMySQLÊý¾Ý¿â
echo on¡¡¡¡
cd c:\Program Files\MySQL\MySQL Server 5.2\bin
mysql -uroot -ppass
2¡¢ÏÔʾÊý¾Ý¿âÁÐ±í¡£
show databases;
3¡¢ÏÔʾ¿âÖеÄÊý¾Ý±í£º
use mysql; //´ò¿ª¿â£¬
show tables;
4¡¢ÏÔʾÊý¾Ý±íµÄ½á¹¹£º
describe ±íÃû;
5¡¢½¨¿â£º
create database ¿âÃû;
6¡¢½¨±í£º
use ¿âÃû;
creat ......
±¸·Ý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£©£¬»¹¿ÉÒÔÊÇÖ±½Ó¿½± ......