天堂的狼

更好的生活,来自不懈的努力与拼搏,不要仅仅看中结果,拼搏的过程同样是精彩的!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::
学习时候,曾讲过二者区别。
select into 将选择的结果创建新表,insert into select则是将结果插入到已有表中。
如:
select * into  NewTable from ATable; --创建一个新表NewTable ,将ATable数据插入其中。
insert into OldTable select * from ATable; --将ATable中数据插入到已有表OldTable 中。

今天在sql/plus中第一句怎么也执行不下去,总是报"ORA-00905:缺失关键字"。啥原因呢?一查,原来是PL/Sql与T-SQL区别。
T-SQL中该句正常,但PL/SQL中解释是:
select..into is part of PL/SQL language which means you have to use it inside a PL/SQL block. You can not use it in a SQL statement outside of PL/SQL.
即不能单独作为一条sql语句使用,一般在程序块中给变量赋值。

如果在PL/SQL中实现该功能,可使用Create table newTable as select * from ...:
如: create table NewTable as select * from ATable;
posted on 2009-07-31 10:18  天堂的狼  阅读(1246)  评论(0编辑  收藏  举报