mysql´æ´¢¹ý³Ì Àý×Ó Óαêcursor Ñ»·Ç¶Ì× ÊÂÎï
×òÌìÒªmysqlÖÐд´æ´¢¹ý³Ì·¢ÏÖÍøÉÏÓйØÓÚcursorÑ»·ÇÒÌ×µÄ×ÊÁϺÜÉÙ,ÏÖ·¢³ö±¾ÈËдµÄÀý×Ó,Ï£ÍûÄܶԴó¼ÒÓаïÖú.
¿´ÕÐ:
DELIMITER $$
USE `ad_db`$$
DROP PROCEDURE IF EXISTS `test`$$
CREATE DEFINER=`root`@`%` PROCEDURE `test`()
BEGIN
/** CPAЧ¹ûÊý */
DECLARE _tmpId1 INT;
DECLARE _tmpId2 VARCHAR(5000);
DECLARE not_found INT DEFAULT 0 ;-- ÊÇ·ñδÕÒµ½Êý¾Ý ±ê¼Ç
DECLARE cursor1 CURSOR FOR SELECT id from fhtest2 ; -- ²âÊÔÓÃÎÞÒµÎñ¹ØÏµ
DECLARE cursor2 CURSOR FOR SELECT test from fhtest2 ;-- ²âÊÔÓÃÎÞÒµÎñ¹ØÏµ
DECLARE CONTINUE HANDLER FOR NOT FOUND SET not_found = 1; -- Èç¹ûδÕÒµ½Êý¾Ý ½«±ê¼Ç¸ÄΪ²»¿ÉÓÃ
DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK; -- Òì³£Ìø³ö
START TRANSACTION; -- Æô¶¯ÊÂÎï
INSERT INTO fhtest2 (test) VALUES (' ¿ªÊ¼1 ');
INSERT INTO fhtest2 (test) VALUES (' ¿ªÊ¼2 ');
OPEN cursor1; -- Æô¶¯Óαê1
WHILE not_found = 0 DO
FETCH cursor1 INTO _tmpId1;-- »ñÈ¡Êý¾Ý
IF NOT not_found THEN
OPEN cursor2; -- Æô¶¯Óαê2
WHILE not_found = 0 DO
FETCH cursor2 INTO _tmpId2;-- »ñÈ¡Êý¾Ý
IF NOT not_found THEN
INSERT INTO fhtest2 (test) VALUES (CONCAT(' id + test= ',_tmpId1,_tmpId2));
END IF ;
END WHILE ;
CLOSE cursor2;
SET not_found = 0 ; -- ½« ±ê¼Ç¸ÄΪ0¼´¿ÉÓà ·ñÔòÖ»Ö´ÐÐÒ»´Î,ÒÔΪÄÚ²¿Ñ»·Ö´ÐÐÍê³Éºó not_found = 1,ËùÓÐÒª½«ÆäÖÃΪ0
END IF;
END WHILE;
CLOSE cursor1;
COMMIT;
END$$
DELIMITER ;
Ïà¹ØÎĵµ£º
¡¡¡¡1.mysql
¡¡¡¡ÔÚÈçÏÂÒ³ÃæÏÂÔØmysqlµÄfor linux rpm°ü
¡¡¡¡¡¡http://www.mysql.com/downloads/down...3.52-1.i386.rpm ;
¡¡¡¡¡¡http://www.mysql.com/downloads/down...3.52-1.i386.rpm ;
¡¡¡¡´æÖÁ/home/tmpĿ¼
¡¡¡¡ÃüÁîÁÐ±í£º¡¡
¡¡¡¡cd /home/tmp
¡¡¡¡rpm -ivh MySQL-3.23.52-1.i386.rpm #°²×°mysql serv ......
Ò»Ö±ÒÔΪmysqlËæ»ú²éѯ¼¸ÌõÊý¾Ý£¬¾ÍÓÃ
SELECT
*
from
`
table
`
ORDER
BY
RAND
() LIMIT
5
¾Í¿ÉÒÔÁË¡£
µ«ÊÇÕæÕý²âÊÔһϲŷ¢ÏÖÕâÑùЧÂʷdz£µÍ¡£Ò»¸ö15ÍòÓàÌõµÄ¿â£¬²éѯ5ÌõÊý¾Ý£¬¾ÓȻҪ8ÃëÒÔÉÏ
²é¿´¹Ù·½ÊֲᣬҲ˵rand()·ÅÔÚORDER BY ×Ó¾äÖлᱻִÐж ......
1. ¸øroot¼ÓÃÜÂ룺/usr/bin/mysqladmin -u root password 123456
2. µ¼³ö£ºmysqldump -u root -p dbname > file.sql
3. µ¼È룺mysql -u root -p dbname < backup-file.sql
4. ÊÚȨ£ºgrant all on *.* to root@"%" identified by "ÃÜÂë";
5. ÊÕ»ØÈ¨ÏÞ£ºrevoke all privileges on *.* from root@"%";
6. µÇ¼£ºmys ......
ÉùÃ÷£º²¿ÊðDedeCMS£¬ÔÚÍøÉÏËÑÁ˺ܶà×ÊÁÏ£¬°üÀ¨Õâ¸öÂÛ̳£¬¼¸ºõûÓз¢ÏÖÔÚlinuxϲ¿ÊðµÄÏÖ³É×ÊÁÏ¿ÉÒԲο¼¡£
Ë죬×Ô¼º°ÑÕû¸ö²¿Êð¹ý³ÌÖÐÒ»Ð©ÖØÒªµÄµã¼Ç¼ÏÂÀ´£¬Ò»ÊÇËã×ö×Ô¼ºµÄÀͶ¯³É¹û£¬Í¬Ê±£¬ÆÚÍû¶ÔÔø¾ºÍÎÒÒ»ÑùÃÔ㣬²»ÖªÈçºÎ²¿Êð   ......
½ñÌìʹÓÃPowerDesigner´î½¨ÁËÒ»¸öСÏîÄ¿£¬×îºóÖ´ÐÐÍêSQL½Å±¾Ê±²Å·¢ÏÖÓÐ2ÕűíµÄ±íÃûÖмä¶àÁËÒ»¸ö¿Õ¸ñ£¬²éÍê×ÊÁÏ£¬×îºó²¢¾ªÆæ·¢ÏÖÓ³ÉäÎļþ¾¹È»¶àÁË2¸ö`,¾ÍÊÇshift+Êý×Ö¼ü1µÄÄǸö£¬Ò²¾ÍÊÇËûÔڽű¾ÊÇÕâÑùдµÄ£º
create table `table1`(....);
ÎÊÌâ½â¾ö¡£
PS:´ÓÍøÉÏÕÒµ½µÄ×ÊÁÏ£º
×÷Ϊһ¸öOracle DBA£¬MySQLºÜ¶àSQLÓï·¨ÓëOrac ......