Oracle对SELECT INTO的独特解释
在Oracle中,SELECT INTO语句的典型操作与其他SQL方言不同。虽然 SELECT INTO 通常将数据检索与创建新表相关联,但 Oracle 对其实现方式截然不同。
要解决错误“ORA-00905:缺少关键字”,了解 Oracle 的实现至关重要。使用现有表中的数据创建新表的正确语法如下:
创建新表:
如果目标表 NEW_TABLE 已存在:
insert into new_table select * from old_table;
根据中的数据创建NEW_TABLE OLD_TABLE:
create table new_table as select * from old_table;
创建空表结构:
如果目的是创建与 OLD_TABLE 结构相同的空表,请使用 WHERE 子句不可能的条件:
create table new_table as select * from old_table where 1 = 2;
请注意,使用 SELECT 创建表时INTO,Oracle 仅复制表的架构,不包括原始表中存在的任何约束、触发器或索引。如果需要,必须手动添加这些。
以上是Oracle 的 SELECT INTO 与其他 SQL 方言有何不同,以及如何避免'ORA-00905”?的详细内容。更多信息请关注PHP中文网其他相关文章!