2012-04-12 33 views
1

無法撥打臨時表的存儲過程:臨時表中不存在錯誤

DELIMITER $$ 
DROP PROCEDURE IF EXISTS `summary_daily_reports`$$ 
CREATE PROCEDURE `summary_daily_reports`() 
BEGIN 

DROP TEMPORARY TABLE IF EXISTS `both_daily_repots`; 

CREATE TEMPORARY TABLE both_daily_repots(
     `date`  VARCHAR(10), 
     balance   DOUBLE, 
     balance_ua   DOUBLE 
     ) DEFAULT CHAR SET utf8; 



INSERT INTO both_daily_reports VALUES ('2012-01-01',0,0); 

SELECT * FROM both_daily_repots; 

END $$ 

然後調用程序,並得到錯誤「表‘report_cfd.both_daily_reports’不存在」;

+2

您可能希望修復DROP中的錯字並創建表名 – Rob 2012-04-12 13:59:22

回答

3

在幾個地方拼寫表名稱爲both_daily_repots而不是both_daily_reports。這是導致錯誤的原因。

發生什麼事是:

  • DROP TABLECREATE TABLESELECTrepots操作(不r);
  • INSERT試圖插入到reports(與r)並失敗。
+0

您是正確的。我犯了錯誤,因爲我很累。 – 2012-04-12 14:03:35

+0

嗨@NPE,我有一個關於臨時表的問題在這裏:http://stackoverflow.com/questions/20918066/creating-mysql-temporary-table-then-assign-crud-from-it你能給我一個嘗試嗎?謝謝 – randytan 2014-01-05 03:45:58