#把key->value(json字符串)拼成sql语句
DELIMITER //
DROP FUNCTION kvJsonData//
CREATE FUNCTION kvJsonData(tableName char(20),medKeys text,medValues text,orderId int(11))
returns text
BEGIN
declare num int(11);
declare count int(2) default 1;
declare strValues text default "";
declare strKeys text;
declare ret text default "";
set strKeys=concat(medKeys,',`order_id`');
set ret=concat("insert into ",tableName,"(",strKeys,") values");
set num= LENGTH(medValues) - LENGTH(REPLACE(medValues, '#', ''))+1;
while count<=num do
if count=1 then
set strValues=concat(SUBSTRING_INDEX(medValues,'#',count),',',orderId);
else
set strValues=SUBSTRING_INDEX(medValues,'#',count);
set strValues=SUBSTRING_INDEX(strValues,'#',-1);
set strValues=concat(strValues,',',orderId);
end if;
set ret=concat(ret,"(",strValues,"),");
set count=count+1;
end while;
set ret=substring(ret,1,LENGTH(ret)-1);
return ret;
END
//
DELIMITER ;