Sql 插入全局临时表操作失败

Sql 插入全局临时表操作失败,sql,oracle,plsql,Sql,Oracle,Plsql,用于将我的临时表数据存储到plsql表类型的select语句: select * from Global_temporary_table bulk collect into plsql_table_type; 在执行一些转换之后,当我尝试使用下面的insert语句将数据插入回全局临时表时 INSERT INTO Global_temporary_table VALUES v_rbct_tbl(i); COMMIT; 它无法完成插入事务。但是,如果我尝试将相同的数据插入到非全局临时表中,则不会

用于将我的临时表数据存储到plsql表类型的select语句

select * from Global_temporary_table
bulk collect into plsql_table_type;
在执行一些转换之后,当我尝试使用下面的insert语句将数据插入回全局临时表时

INSERT INTO Global_temporary_table
VALUES v_rbct_tbl(i);
COMMIT;

它无法完成插入事务。但是,如果我尝试将相同的数据插入到非全局临时表中,则不会产生任何问题


请帮帮我

几乎可以肯定您的提交会删除数据。 GTT中的数据是易变的,在提交(在提交-删除行上)或会话结束(在提交-保留行上)后会消失

如果需要在提交后保留数据,请创建具有ON commit PREVEL ROWS的表


请参阅

“插入事务失败”:您的意思是事务明显失败(请分享您可能收到的错误消息),还是您的数据未插入?或损坏?我没有收到任何错误,但正如Florin所解释的,
commit
是我犯的错误,因为GTT中的所有数据都被删除了。无论如何,谢谢你的关心。