在Oracle中,如何将查询出的数据存入临时表中
createglobaltemporarytableabcdasselecta.a1,b.b2froma,bwherea.id=b.id这个语句执行后表中没内容。crea...
create global temporary table abcd as select a.a1,b.b2 from a,b where a.id=b.id 这个语句执行后表中没内容。
create global temporary table abcd as select a.a1,b.b2 from a,b where a.id=b.id on commit delete rows;这个语句在Oracle 10g中执行时会出现“命令未正确结束”的错误,希望高手指点。如果正确,我会多加15分,因为我就这么多了。
是在sql*plus中 展开
create global temporary table abcd as select a.a1,b.b2 from a,b where a.id=b.id on commit delete rows;这个语句在Oracle 10g中执行时会出现“命令未正确结束”的错误,希望高手指点。如果正确,我会多加15分,因为我就这么多了。
是在sql*plus中 展开
3个回答
展开全部
比如临时表叫temp,你要查询的语句为select * from 表名 where id=1。
如果temp表存在:
insert into temp select * from 表名 where id=1;
commit;
如果temp表不存在
create table temp as insert into temp select * from 表名 where id=1;
注意:使用insert语句时一定要commit,否则写不进数据库中。
展开全部
temporary table :临时表,有两种方法
1、on commit delete rows;当COMMIT的时候删除数据
2、on commit preserve rows;当COMMIT的时候保留数据
当不写的时候默认为1。
所以你的第一条语名自然没有数据。但你如果在程序中使用的话此临时表的数据的生命周期就是本程序开始至结束。
第二条语句要变为:create global temporary table abcd on commit delete rows as select a.a1,b.b2 from a,b where a.id=b.id ;
1、on commit delete rows;当COMMIT的时候删除数据
2、on commit preserve rows;当COMMIT的时候保留数据
当不写的时候默认为1。
所以你的第一条语名自然没有数据。但你如果在程序中使用的话此临时表的数据的生命周期就是本程序开始至结束。
第二条语句要变为:create global temporary table abcd on commit delete rows as select a.a1,b.b2 from a,b where a.id=b.id ;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
临时table在commit后都看不到数据吧。
create动作又是那种默认commit的。
所以, 在后面的insert 动作后,应该是可以看到。
create global temporary table abcd on commit delete rows as select a.a1,b.b2 from a,b where a.id=b.id
create动作又是那种默认commit的。
所以, 在后面的insert 动作后,应该是可以看到。
create global temporary table abcd on commit delete rows as select a.a1,b.b2 from a,b where a.id=b.id
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询