必须使用动态的语句, DDL 语句,在存储过程中, 需要改为动态语句 :
execute immediate 'sql语句' ;
我的是因为执行了
truncate table t_pvbdp_comprehensiv_statistic
换成
execute immediate 'truncate table t_pvbdp_comprehensiv_statistic' ;
就可以了
DDL 语句指 :
DDL create table 创建表 alter table 修改表 drop table 删除表 truncate table 删除表中所有行 create index 创建索引 drop index 删除索引 当执行DDL语句时,在每一条语句前后,oracle都将提交当前的事务。如果用户使用insert命令将记录插入到数据库后,执行了一条DDL语句(如create table),此时来自insert命令的数据将被提交到数据库。当DDL语句执行完成时,DDL语句会被自动提交,不能回滚。
版权声明:本文为liuao107329原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。