2009/06/08

Execute a STRING as a query

MySQL:
BEGIN
    SET @sql = CONCAT('SELECT * FROM ', table_name, ' WHERE id = ', vID);
    PREPARE stmt FROM @sql;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
END
BEGIN
    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;
END;