在 Oracle 中的关键字后更改表

2021-11-27 00:00:00 oracle11g oracle ddl alter-table
ALTER TABLE testTable ADD column1 NUMBER(1) DEFAULT 0 NOT NULL AFTER column2;

为什么我也不能在 Oracle 中使用 mySql 语法?上述命令适用于 MySql.你能给我一个有效的等价物吗?

Why can't I use mySql syntax in Oracle too? The above command works in MySql. Can you give me an equivalent that works?

Error report:
SQL Error: ORA-01735: invalid ALTER TABLE option
01735. 00000 -  "invalid ALTER TABLE option"

<小时>

我在问是否有任何方法可以在我提供的 Oracle 命令中使用 after 子句?


I am asking if there is any way to use after clause in Oracle command that I provided?

推荐答案

因为 SQL 是一种关系代数.它一点也不关心表中列的位置",只关心它们是否存在.

Because SQL is a relational algebra. It doesn't care one bit about "where" columns are located within a table, only that they exist.

要让它在 Oracle 中工作,只需去掉 after 子句.alter table 的 Oracle 文档在 这里 但归结为:

To get it to work in Oracle, just get rid of the after clause. The Oracle documentation for alter table is here but it boils down to:

alter table testTable
    add ( column1 number(1) default 0 not null )

alter table 命令没有没有 after 子句.

相关文章