Posts

Showing posts from December, 2012

Insert Comma Separated String to Database table in My SQL

 If the database table contains this id than it update the data if not contain it insert a new record which are not in table  I am writing this for my requirement ,you can also change the input parameter as per your requirement. DELIMITER $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `USP_Update_ServiceTask`(             in  in_Action           varchar(10),         in  PKService_Task_ID   int,         in  in_serviceid        int,         in  in_TaskIds          varchar(8000),         in  in_Updatedby        varchar(50),         out  message            varchar(50) ) BEGIN     DECLARE vDone tinyint(1) DEFAULT 1;     DECLARE vIndex INT DEFAULT 1;     DECLARE vSubString VARCHAR(15);     DECLARE  vSeparator VARCHAR(5);     DECLARE  count      INT;        if in_Action='U' then                    SET vSeparator = ',';             WHILE vDone > 0                 DO                   SET vSubString = SUBSTRING(in_TaskIds, vIndex,                                     IF

Split Comma Separated String in My SQL

DELIMITER $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `String_Split`(  vString VARCHAR(8000),   vSeparator VARCHAR(5) ) BEGIN DECLARE vDone tinyint(1) DEFAULT 1; DECLARE vIndex INT DEFAULT 1; DECLARE vSubString VARCHAR(15); DROP TABLE IF EXISTS tmpIDList; CREATE TEMPORARY TABLE tmpIDList (ID INT); WHILE vDone > 0 DO   SET vSubString = SUBSTRING(vString, vIndex,                     IF(LOCATE(vSeparator, vString, vIndex) > 0,                       LOCATE(vSeparator, vString, vIndex) - vIndex,                       LENGTH(vString)                     ));                                          IF LENGTH(vSubString) > 0 THEN       SET vIndex = vIndex + LENGTH(vSubString) + 1;       INSERT INTO tmpIDList VALUES (vSubString);   ELSE       SET vDone = 0;   END IF;     END WHILE;   END you can call this for every string passed by fronend and use this any sql query ,After that you should drop the temp table     like :  call  String_Split('1,