【发布时间】:2018-02-25 14:25:23
【问题描述】:
我只想问为什么这段代码没有建表?
BEGIN
EXECUTE IMMEDIATE 'create table temp1 as (select * from table)';
COMMIT;
END;
当我尝试这个时,它会创建表但没有记录/数据。
BEGIN
EXECUTE IMMEDIATE 'drop table temp1';
EXECUTE IMMEDIATE 'create table temp1 as (select * from table)';
COMMIT;
END;
table 是一个全局临时表,这就是为什么我选择时没有数据,但是当我运行报表时,输出有数据。
我正在尝试修复重复数据错误,这就是我需要创建临时表的原因。
【问题讨论】:
-
首先,您不需要提交 DDL 操作(创建、更改、删除、截断),它们会自动提交。其次,你确定它没有创建表吗?你看起来怎么样?尝试放置要在其上创建表的架构。
标签: sql oracle dynamic-sql