当然会报这个错误了,编译的时候没有这个对象(select * from PRTLSTDEL_TMP)肯定会出错,编译不成功就不能执行,不能执行这个临时表就创建不了。怎么会有这么奇葩的需求?你要把select * from PRTLSTDEL_TMP这里也变成动态的才行就算改好了成功了, 你的程序也只能执行一次,因为"v_sqlcreate := 'create global temporary table PRTLSTDEL_TMP(" 会报对象已存在