oracle - 如何使用创建或替换?

标签 oracle oracle10g ddl

我对 CREATE OR REPLACE 的理解是否正确?基本上意味着“如果对象存在,则删除它,然后以任何一种方式创建它?”

如果是这样,我做错了什么?这有效:

CREATE TABLE foo (id NUMBER,
title VARCHAR2(4000) DEFAULT 'Default Title')

这不是(ORA-00922:缺少或无效选项):

CREATE OR REPLACE TABLE foo (id NUMBER,
title VARCHAR2(4000) DEFAULT 'Default Title')

我是不是做了什么蠢事?我似乎找不到太多关于此语法的文档。

最佳答案

这适用于函数、过程、包、类型、同义词、触发器和 View 。

更新:

第三次更新帖子后,我将重新表述:

This does not work on tables :)

是的,有 documentation在此语法中,CREATE TABLE 没有 REPLACE 选项。

关于oracle - 如何使用创建或替换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1008248/

相关文章:

oracle - Apache HTTP 服务器与 Oracle HTTP 服务器

database - 使用控制台应用程序时, 'OraOLEDB.Oracle' 提供程序未在本地计算机上注册?

sql - Oracle 检查约束

java - 将 Oracle 或 Sql Server DDL 转换为 Derby

sql - 在循环中使用 replace()

oracle - OCI 无效操作 ORA-01010

mysql - Oracle 日期聚合

oracle - 如何在Oracle 12c中启用分区(Docker镜像)

oracle10g - 如何从 oracle 数据库中找到与特定表相关的所有代码和触发器?

oracle - 'shrink space compact' 和 'coalesce' 之间有什么区别?