使用mysql存储过程创建并插入临时表

时间:2013-07-12 06:21:44

标签: mysql stored-procedures

我有一个存储过程如下。

这里我创建了一个名为 tempDesTable 的临时表,并将数据放入数据库。现在我必须从另一个选择查询中添加其他数据。但它显示Error Code : 1327 Undeclared variable: tempDesTable

BEGIN

    CREATE TEMPORARY TABLE tempDesTable AS (SELECT ID, FirstName, LastName FROM t_users WHERE `DesignationID` = p_DesignationID AND BranchID = 0);      

    SELECT ID, FirstName, LastName INTO `tempDesTable` FROM t_users WHERE `DesignationID` = p_DesignationID AND BranchID = p_BranchID;

END$$

1 个答案:

答案 0 :(得分:3)

你需要使用insert ... select而不是select ... into

INSERT INTO tempDesTable SELECT ID, FirstName, LastName FROM t_users 
WHERE `DesignationID` = p_DesignationID AND BranchID = p_BranchID;