问题描述
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
子句.
这篇关于在 Oracle 中的关键字后更改表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!