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 ;
Ïà¹ØÎĵµ£º
»ùÓÚMySQLºÍInfobrightµÄÊý¾Ý²Ö¿â¼¼Êõ
Êý¾Ý²Ö¿â/·ÖÎö/ÉÌÎñÖÇÄÜ( BI )ÁìÓòÕýÔÚ·ÉËÙ·¢Õ¹¡£ÔÚ¼¤Áҵľ¼Ã¾ºÕùÖÐËùÓÐÐÐÒµºÍÖÇÄÜÆóÒµÐèÒªÀûÓÃÆäÄÚ²¿µÄÊý¾ÝÀ´×ö³öÖØÒªµÄÉÌÒµ¾ö²ß£¬°üÀ¨Õ½ÊõºÍÕ½ÂÔÁ½·½Ã棬ÒÔ±£³ÖÐÐÒµµÄÁìÏȵØλ¡£
Êý¾Ý²Ö¿â(Èç¶ÔMySQLµÄÒ»´ÎÖØ´óÉç»áºÍ¿Í»§µ÷²é)Ä¿Ç°ÊÇMySQLµÄµÚÎåÖÖ×î³£¼ûµÄÓ¦Óá£ÏÖÔÚÓÃÓÚMySQLÊý¾Ý ......
Link from : http://www.5ilinux.com/blog/archives/000091.html
1.Ê×ÏÈÎÒÃǽ¨Á¢ÏàÓ¦µÄÓû§ºÍÓû§×é
groupadd -g 5500 ftpgroup
adduser -u 5500 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser
2.²Ù×÷Êý¾Ý¿â
mysql mysql -uroot -ppassword
create database ftpdb
grant select, upd ......
¸ømysql¿ªÒ»¸ö¿ÉÒÔÔ¶³Ì·ÃÎʵÄÓû§ÃüÁîÈçÏÂ:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
"*.*" ±íʾÊý¾Ý¿âÖÐËùÓеıí,Ò²¿ÉÒÔ»»³ÉÖ¸¶¨µÄ±íÈçtest.*
"myuser" ±íʾµÄÊÇ·ÃÎʵÄÓû§Ãû;
"%" ±íʾËùÓеÄÖ÷»ú¼´ÈκεÄÖ÷»ú¶¼¿ÉÒÔͨ¹ýÕâ¸öÓû§Ãû·ÃÎÊÎÒµÄÊý¾Ý¿â,Ò²¿ÉÒԸóÉÌض¨µ ......
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 ......