SchoolZone
ȸ¿ø°¡ÀÔ | | ȸ¿øÇýÅÃ
[DBMS] MySQL ÇÁ·Î½ÃÁ®(PROCEDURE) Ȱ¿ë »ùÇà ¼Ò½º ÄÚµå
±Û¾´ÀÌ ÅØ½ºÆ®Å¥ºê ³¯ Â¥ 08-12-16 10:01 Á¶ ȸ 2625
Link1 http://hompy.info/542 (153)
Link2 http://kr.youtube.com/watch?v=S_KTqwzpNxc (108)
¾Æ·¡ ¼Ò°³µÈ SQL ¼Ò½º ÄÚµå´Â 3°¡ÁöÀÇ MySQL ÇÁ·Î½ÃÁ®(PROCEDURE)¸¦ ÀÌ¿ëÇØ¼­ Å×À̺í Áß¿¡ °³º° ·¹ÄÚµåÀÇ Æ¯Á¤ Ä÷³ÀÇ ¹®ÀÚ¿­À» ±¸ºÐÀÚ·Î ºÐ¸®Çؼ­ º°µµÀÇ Å×ÀÌºí¿¡ °¢°¢ ÇϳªÀÇ ·¹ÄÚµå·Î ±â·ÏÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.

DROP TABLE IF EXISTS my_bundles;
CREATE TABLE my_bundles(seq int auto_increment, total int, bundle text, PRIMARY KEY (seq));
INSERT INTO my_bundles(total,bundle) VALUES (3,"JAVASCRIPT,ACTIONSCRIPT,HTML"),(1,"C++"),(2,"ALGOL,C#"),(7,"C,PHP,JSP,LISP,BASIC,ADA,PYTHON"),(6,"JAVA,RUBY,PASCAL,COBOL,FORTRAN,PERL"),(5,"DELPHI,PROLOG,SMALLTALK,PERL,COLDFUSION");
SELECT * FROM my_bundles;

DROP TABLE IF EXISTS my_items;
CREATE TABLE my_items(seq int auto_increment, language varchar(32), PRIMARY KEY (seq));

DELIMITER $$
DROP PROCEDURE IF EXISTS tokenizer $$
CREATE PROCEDURE tokenizer(
    INOUT input_string varchar(1025), OUT token varchar(1025), IN boundary varchar(16)
) READS SQL DATA
BEGIN
    SELECT char_length(boundary) INTO @boundry_length;
    SET @idx = LOCATE(boundary,input_string);
    IF (@idx = 0) THEN
        SET token = input_string;
        SET input_string = NULL;
    ELSE
        SET token = SUBSTR(input_string,1,@idx-1);
        SET input_string = SUBSTR(input_string,@idx + @boundry_length);
    END IF;
END
$$
DELIMITER ;

DELIMITER $$
DROP PROCEDURE IF EXISTS insert_items $$
CREATE PROCEDURE insert_items(IN my_str varchar(1024)) MODIFIES SQL DATA
BEGIN
    SELECT my_str INTO @org_string;
    CALL tokenizer(@org_string, @tkn_str, ',');
    WHILE (@tkn_str IS NOT NULL) DO
        INSERT INTO my_items(language) VALUES (@tkn_str);
        CALL tokenizer(@org_string, @tkn_str, ',');
    END WHILE;
END
$$
DELIMITER ;

CALL insert_items('a,b,c');
SELECT * FROM my_items;

DELIMITER $$
DROP PROCEDURE IF EXISTS insert_cols_items $$
CREATE PROCEDURE insert_cols_items()
BEGIN
    DECLARE ok INT DEFAULT '0';
    DECLARE tmp_seq INT DEFAULT '0';
    DECLARE tmp_total INT DEFAULT '0';
    DECLARE tmp_bundle TEXT DEFAULT '';
    DECLARE tot INT DEFAULT '0';
    DECLARE cur CURSOR FOR SELECT seq, total, bundle FROM my_bundles;
    DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET ok = 1;
    OPEN cur;
    REPEAT
        FETCH cur INTO tmp_seq, tmp_total, tmp_bundle;
        IF NOT ok THEN
            CALL insert_items(tmp_bundle);
            SET tot = tot + 1;
        END IF;
    UNTIL ok END REPEAT;
    CLOSE cur;
    IF tot > 0 THEN
        SELECT tot;
    ELSE
        SELECT 0;
    END IF;
END
$$
DELIMITER ;

TRUNCATE my_items;
CALL insert_cols_items();
SELECT * FROM my_items;





À¥ÇÁ·Î±×·¡¸ÓÀÇ È¨ÆäÀÌÁö Á¤º¸ ºí·Î±× http://hompy.info
Æë±Ï¢â ü¸®ÇÊÅÍ 08-12-16 10:03
ÁÁ³×¿ä.
¾ðÁ¦ Çѹø ÇÁ·Î½ÃÁ®µµ ¸¾ ¸Ô°í ÆÁÀ¸·Î ¿Ã¸±·Á°í Çß¾ú´Âµ¥ ¤»¤»
º£¸£»çü 08-12-16 12:43
¾ÆÁÖ ÁÁÀº Á¤º¸³×¿ä. ^^
±×³× 08-12-16 20:44
mysql ¿¡¼­µµ µ¿ÀûÄõ¸®°¡ °¡´ÉÇÕ´Ï´Ù.
ÀÌ·²Å׸é
select * from $table °°Àº °ÍÀÌÁÒ
°Ô½Ã¹° 11,998°Ç
¹øÈ£ ºÐ·ù Á¦¸ñ ±Û¾´ÀÌ ³¯Â¥ Á¶È¸
11,978 Á¤º¸ ´ÙÀ½/³×À̹ö ½Ç½Ã°£ °Ë»ö XML [2] Äí·¹ÀÌÁö½ß 10-08-03 1309
11,977 ¹ö±× Ç¢´çÇÑ Firefox ¹ö±× [9] ½Ã¿ìã¿éë 10-07-29 1237
11,976 ÇÔ¼ö [PHP] Æ®À§ÅÍ(?) ó·³ ³¯Â¥µ¥ÀÌÅ͸¦ °£¼ÒÇÏ°Ô Ãâ·Â [9] ¿ì»çÀκ¼Æ® 10-07-24 1389
11,975 ÇÔ¼ö [PHP5] CF Menu 0.1.2 [6] ±×³× 10-07-22 1214
11,974 ½ºÅ©¸³Æ® jquery ellipsys ÀÔ´Ï´Ù. [6] ¸Û±× 10-07-19 1336
11,973 ½ºÅ©¸³Æ® [jquery] .live ¿¡¼­ change À̺¥Æ® »ç¿ëÇϱâ(²Ä¼öÀÓ) [5] Äðº¸À̱³¿ø 10-07-15 925
11,972 DBMS MSSQL > MySQL µ¥ÀÌÅÍ ÀÌÀü °ü·Ã 1¿ø Tip [1] AJ½ÄÀÌ´Ô 10-07-13 1014
11,971 ½ºÅ©¸³Æ® DatePicker ³¯Â¥ Á¾·áÀÏ Ã¼Å©. [3] Äðº¸À̱³¿ø 10-07-12 820
11,970 Á¤º¸ ÇÑ±Û HWP ¹®¼­ÆÄÀÏ ¾ç½Ä °ø°³ [8] »ç¾ÇÇѹڴ븮 10-07-12 1273
11,969 HTML CSS(CLASS)¸¦ »ç¿ëÇÑ SHOW , HIDE ¹æ¹ý [13] °ø´ë¿©ÀÚ 10-07-10 1070
11,968 ½ºÅ©¸³Æ® [jQuery] datePicker ------ °¡´ÉÇÑ Á¾·áÀÏ Ã¼Å©[º¸¿Ï¼öÁ¤] [6] Äðº¸À̱³¿ø 10-07-09 744
11,967 Á¤º¸ ´ÙÀ½ ½Ç½Ã°£À̽´ °Ë»ö¾î XML Ãâ·ÂÇϱâ [4] Äí·¹ÀÌÁö½ß 10-07-08 1025
11,966 ½ºÅ©¸³Æ® jquery ÀÚµ¿¿Ï¼º autocomplete ±â´É ½±°Ô Àû¿ëÇϱâ [6] Á¦ºÎµµ¼Ò³â 10-07-08 1280
11,965 ¾Ë°í¸®Áò SOAP [4] ³ª´®À̶õ 10-07-07 1019
11,964 ±âŸ ³×ÀÌÆ®¿Â ÇÁ·Ï½Ã ¼­¹ö ¼³Á¤Çϱâ (¹«·á) [2] °¡ºñ¸¸¼¼ 10-07-05 1585
11,963 ±âŸ ÇÁ·Ï½Ã ¼­¹ö (High anonymous) »ç¿ëÀÚ Ã¼Å© Çϱâ. [8] KzMJN 10-06-25 1281
11,962 ¼³Ä¡/¼³Á¤ [asp] ¾÷·Îµå ÄÄÆ÷³ÍÆ® (nfupload+freeaspupload) º½µ¹¤Ô 10-06-23 1170
11,961 ÇÔ¼ö ½±°Ô ½±°Ô Xpath ÇÔ¼ö ´ÙÇÁ¸° 10-06-19 1377
11,960 ½ºÅ©¸³Æ® ajax(jquery) ¹«ÇÑ ½ºÅ©·Ñ ½ºÅ©·Ñ ³¡¿¡ °¡¸é ´ÙÀ½ µ¥ÀÌÅÍ ·Îµå [6] daniselseo 10-06-14 2206
11,959 ÇÔ¼ö °Ô½Ã¹°ÀÌ »è.Á¦. µÇ¾ú½À´Ï´Ù. [2] BiHon 10-06-09 1356
ȸ»ç¼Ò°³ »çÀÌÆ®¸Ê ÀÌ¿ë¾à°ü °³ÀÎÁ¤º¸Ãë±Þ¹æÄ§ À̸ÞÀÏ ¹«´Ü¼öÁý °ÅºÎ ÀÎÀçä¿ë Á¦ÈÞ¹®ÀÇ ±¤°í¾È³»
(ÁÖ)ÇÇ¿¡ÀÌÄ¡ÇǽºÄð´åÄÄ »ç¾÷¹øÈ£ 119-86-25309 ÅëÆÇ 2010-¼­¿ï±Ýõ-0082È£ Á÷¾÷Á¤º¸ ¼­¿ï°ü¾Ç Á¦2010-03È£
¼­¿ï½Ã ±Ýõ±¸ °¡»êµ¿ 371-50 ¿¡À̽ºÇÏÀ̾صå3Â÷ 9Ãþ ´ëÇ¥ ÀÓ¼ºÁø °³ÀÎÁ¤º¸º¸È£Á¤Ã¥ ¹× ´ã´ç ÇϹÌÇâ
ÀüÈ­ 02-2627-6637 ÆÑ½º 02-2624-1371 E-mail member@phpschool.com
Copyright PHPSCHOOL.com All rights reserved.