首页 > 解决方案 > 替换存储过程失败,易失性表不存在

问题描述

此过程已存在于数据库中,但是当我在进行更改后尝试替换它时抛出错误 volatile table doesn't exist。你能帮忙找出问题吗?迁移到 QA 环境时失败。

Statement 2: REPLACE PROCEDURE Failed. 
Output directed to Answer window

SPL5000:W(L78), E(3807):Object 'VT_SEG' does not exist. 
SPL1027:E(L165), Missing/Invalid SQL statement'E(3807):Object 'VT_SEG' does not exist.'.
SPL5000:W(L169), E(3807):Object 'VT_SEG' does not exist.
REPLACE PROCEDURE DB.SP_PNL ( IN P_EXTRACTSTARTDATE VARCHAR(35))
                
BEGIN

   
VT_SEG:BEGIN
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
BEGIN
---- ERROR HANDLING HERE ----
END ;
DROP TABLE "VT_SEG";
END VT_SEG;

--LOAD THE TOPLINE DATA
CREATE MULTISET VOLATILE TABLE VT_SEG AS
( SELECT TIER
       , JOB_ROLE
       , REGION
       , LOC_ID
       , LOCATION
       , WK_NUM
       , YR_NUM+1 AS YR_NUM
       , cast(sum(coalesce(VOL_RAW_CASES,0) ) as decimal(38,9)) as VOL_RAW_CASES

 FROM DB1.VOL
GROUP BY 1,2,3,4,5,6,7
) WITH DATA
primary index (TIER,JOB_ROLE,LOC_ID,WK_NUM,YR_NUM)
ON COMMIT PRESERVE ROWS;

end;

标签: teradatavolatile

解决方案


推荐阅读