Stored procedures Magento:创建存储过程

Stored procedures Magento:创建存储过程,stored-procedures,magento,pdo,Stored Procedures,Magento,Pdo,我正在尝试创建一个Magento模块安装程序,它将创建一个存储过程 该过程的代码已通过以下命令行运行:Toad、phpmyadmin和mysql.exe。它在所有3个方面都有效。但是,当Magento在安装过程中执行它时,它会失败 错误: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; Magento代码: $installer = $this;

我正在尝试创建一个Magento模块安装程序,它将创建一个存储过程

该过程的代码已通过以下命令行运行:Toad、phpmyadmin和mysql.exe。它在所有3个方面都有效。但是,当Magento在安装过程中执行它时,它会失败

错误:

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax;
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();
$installer=$this;
$installer->startSetup();
$sql=我猜出来了

我不需要使用任何分隔符,PDO可以自己处理它们

但我确实需要将方法从query(安装程序使用)切换到exec

因此,我最终得出以下结论:

 $write = Mage::getSingleton('core/resource')->getConnection('core_write');
 $write->exec($sql);

PHP5.3、Windows764、Apache2