oracle 已经对临时表进行判断了,但是测试时候提示(ORA-00955: 名称已由现有对象使用)
0
select count(1)
into V_EXISTS_TMPTABLE
from user_tables a
where a.TABLE_NAME = 'TMP_UBI_FLT_DAF';
if (V_EXISTS_TMPTABLE > 0) then
VSQL := 'DROP TABLE TMP_UBI_FLT_DAF';
EXECUTE IMMEDIATE VSQL;
end if;
executeIMMEDIATENoException('PKG_UBI_TOTW_LJ2.createDevicereplace',
'TMP_UBI_FLT_DAF',
TO_DATE(I_CALCDATE, 'YYYYMMDD'),
'DROP TABLE TMP_UBI_FLT_DAF');
VSQL := '
CREATE TABLE TMP_UBI_FLT_DAF AS
SELECT DF.POLICY_NUMBER,
DF.ENROLLED_VIN,
DF.DEVICE_ID,
DF.STATDATE as DAF_STAT_DATE,
DF.POLICY_NUMBER as SCORE_ACCOUNT_ID,
TRUNC(SYSDATE) as STAT_DATE
FROM UBI_DAF DF
where DF.END_DATE IS NULL
AND TO_DATE(''' || I_CALCDATE ||''',''YYYYMMDD'') = DF.STATDATE
AND DF.ADFLAG = ''A''
AND DF.ENDSTATDATE = DATE ''5000-01-01'' '; -- 有效保单
executeIMMEDIATE('PKG_UBI_TOTW_LJ2.createDevicereplace',
'TMP_UBI_FLT_DAF',
TO_DATE(I_CALCDATE, 'YYYYMMDD'),
VSQL);
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
2 个回复
li052468 2015-12-17 回答
赞同来自:
Queen_Jing - 一句话介绍 2015-12-17 回答
赞同来自: