par
moogli » 06 juil. 2014, 23:43
prestashop ou pas c'est foireux
pour le sql
http://sqlpro.developpez.com/
sinon pour ton problème un truc du genre
voila une procédure, qui sur le principe devrait t'aider
[mysql]
DELIMITER |
CREATE PROCEDURE updateStockAttribut()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE idp VARCHAR(20);
DECLARE ida VARCHAR(20);
DECLARE c_stock CURSOR FOR SELECT
id_product,
id_product_attribute
FROM PS_stock
WHERE physical_quantity > 0;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
PREPARE up FROM 'update PS_product_attributs set
default_on = 1
where id_product=? and id_product_attribute=? and default_on = 0';
OPEN c_stock;
REPEAT
FETCH c_stock
INTO idp, ida;
IF done = 0
THEN
SET @p1 = idp;
SET @p2 = ida;
EXECUTE up
USING @p1, @p2;
END IF;
UNTIL done
END REPEAT;
END|
DELIMITER ;[/mysql]
utilisation [mysql]
call updateStockAttribut();
[/mysql]
comme ça tu as un exemple de procédure stockée et de requête préparée.
suivant ta version de mysql il est possible que cela ne fonction pas (< 5.1.3).
@+