Estoy intentando crear un instalador de módulo Magento, que a su vez creará un procedimiento almacenado.Magento: Crear procedimiento almacenado
El código para el procedimiento se ha ejecutado a través de: línea de comandos Toad, phpmyadmin y mysql.exe. Funcionó en todos 3. Sin embargo, falla cuando Magento va a ejecutarlo durante el proceso de instalación.
error:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax;
Código Magento:
$installer = $this;
$installer->startSetup();
$sql = <<<____SQL
DELIMITER //
CREATE PROCEDURE GetStuff(
IN pSomeId int(11)
)
BEGIN
DECLARE pOtherId INT;
SELECT some_var INTO pOtherId FROM some_table WHERE id = pSomeId;
END;//
DELIMITER ;
____SQL;
$installer->run($sql);
$installer->endSetup();
Hay algún otro código en el medio, por supuesto, pero la simplificación no cambiaba el error. Supongo que tiene algo que ver con Delimeters y con la forma en que PDO/Magento los trata. Gracias.
PHP 5.3, Windows 7 64, Apache 2 – djdy