離弦之Ray

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            55 Posts :: 0 Stories :: 33 Comments :: 0 Trackbacks
          mysql的procedure不支持數組參數,在網上找了個強人的代碼,與大家分享。
          http://www.phpx.com/happy/thread-111759-1-1.html


          DELIMITER ;
          DROP DATABASE IF EXISTS PRO;
          USE MYSQL
          CREATE DATABASE PRO;
          USE PRO
          DROP TABLE IF EXISTS TEMP;
          CREATE TABLE TEMP (
            ID                        INT(8)                NOT NULL AUTO_INCREMENT,
            FOREIGN_KEY               INT(8)                NOT NULL,
            PRIMARY KEY (ID)
          ) TYPE=MyISAM AUTO_INCREMENT=1 COMMENT='測試';

          DELIMITER ;
          DELIMITER //
          DROP PROCEDURE IF EXISTS DNA  //
          CREATE PROCEDURE DNA (IN THE_CNT INT(8), IN THE_STR VARCHAR(10000))
          BEGIN
            DECLARE i INT(8) DEFAULT 0;
            REPEAT SET i = i + 1;
            INSERT INTO TEMP VALUES (NULL, SUBSTRING_INDEX(SUBSTRING_INDEX(THE_STR, ',', i), ',', -1));
            UNTIL i >= THE_CNT END REPEAT;
          END
          //
          DELIMITER ;

          CALL DNA(7, '231,24,1114,151,7831241,9134,989');
          SELECT * FROM TEMP;
          +----+-------------+
          | ID | FOREIGN_KEY |
          +----+-------------+
          |  1 |         231 |
          |  2 |          24 |
          |  3 |        1114 |
          |  4 |         151 |
          |  5 |     7831241 |
          |  6 |        9134 |
          |  7 |         989 |
          +----+-------------+
          posted on 2008-03-06 19:44 離弦之ray的技術天空 閱讀(2214) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 宜黄县| 山西省| 宿州市| 宁国市| 都安| 广南县| 股票| 漳州市| 大关县| 彰化县| 临漳县| 三明市| 崇左市| 吉隆县| 卢湾区| 永修县| 闽侯县| 瓦房店市| 鄂托克前旗| 宁河县| 福泉市| 南康市| 潞城市| 余庆县| 福建省| 贵德县| 金门县| 广河县| 宣城市| 渝中区| 当涂县| 儋州市| 石泉县| 朝阳县| 遂川县| 鹤壁市| 师宗县| 周至县| 黄平县| 台江县| 玛多县|