Pregunta

I am working with TSP(Traveling salesmen problem) Solution in mysql.

for that we are going to develop procedure where i want to execute following query

-- variable coming from java

    CREATE PROCEDURE solve_tsp(
    inout ids varchar(21845);
    )
    begin
    declare ret_ids varchar(21845);
    -- some code

    while length(ids) > 0 do

    -- some assignment 
        SELECT to_id,distance into @l_tmp_id,@l_distance FROM mst_distance_matrix WHERE  from_id =',@l_tmp_id,' AND 
to_id IN (ids) -- ids is variable contains comma delimited string.
order by distance desc limit 1

    -- concat value of to_id in ret_ids variable and then remove from ids variable   

    end while;

    select ret_ids;
    end;
¿Fue útil?

Solución

You should look here.

http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html

Example:

PREPARE stmt1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse';
SET @a = 3;
SET @b = 4;
EXECUTE stmt1 USING @a, @b;
DEALLOCATE PREPARE stmt1;

See also:

Dynamic Query in MySQL

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top