2014-09-11 87 views
0

我在db.stackexchange上問過這個問題,但沒有得到任何答案。通過Ant恢復數據庫時出現PostgreSQL-9.2錯誤

Error while restoring database through Ant

我使用PostgreSQL-9.2和我已經創建了一個數據庫的功能。同時通過螞蟻恢復這個數據庫,錯誤是從功能拋出

**syntax error at or near "VARCHAR" 
Where: invalid type name "CUR_STOCK (v_ad_pinstance_id VARCHAR) IS 
[java] SELECT sd.m_product_id"** 

從中引發錯誤是

DECLARE CUR_STOCK CURSOR (v_ad_pinstance_id VARCHAR) FOR 
SELECT sd.m_product_id, sd.m_locator_id, sd.m_attributesetinstance_id, 
sd.c_uom_id, sd.m_product_uom_id, u.stdprecision, 
ms.quantity AS qty, ms.qtyorder AS qtyorder, 
ms.priority 
FROM m_stock_proposed ms 
LEFT JOIN m_storage_detail sd ON ms.m_storage_detail_id =sd.m_storage_detail_id 
LEFT JOIN m_product_uom pu ON sd.m_product_uom_id = pu.m_product_uom_id 
LEFT JOIN c_uom u ON pu.c_uom_id = u.c_uom_id 
LEFT JOIN m_locator l ON sd.m_locator_id = l.m_locator_id 
WHERE ms.ad_pinstance_id = v_ad_pinstance_id 
ORDER BY ms.priority; 

有什麼不對這個查詢行?

我已通過從VARCHAR改變數據類型爲varchar(32)或字符改變(32)v_ad_pinstance_id之後,但在同樣的錯誤來了嘗試。

請幫忙!

回答

0

我不是在光標的專家,但你的錯誤有一些答案。這不是數據類型的問題,但你要定義一個CURSOR

我想你應該改變的定義

方式
DECLARE CUR_STOCK CURSOR (v_ad_pinstance_id VARCHAR) IS 

而不是

DECLARE CUR_STOCK CURSOR (v_ad_pinstance_id VARCHAR) FOR 

只給一試!

快樂編碼。