ALTER TABLE RENAME语句和RENAME TABLE语句之间有什么区别。
即
之间Alter table old_table_name rename to new_table_name
和
rename table old_table_name to new_table_name.
答案 0 :(得分:7)
将表old_table_name重命名为new_table_name。
这种语法错了。不需要table
个关键字。正确的语法是 -
rename old_table_name to new_table_name;
现在,让我们看看alter
语句与简单rename
语句之间的差异。
我有两个架构,SCOTT
和LALIT
。
SQL> SHOW USER
USER is "SCOTT"
SQL>
SQL> create table t(id number);
Table created.
SQL> rename t to t_new;
Table renamed.
SQL> alter table t_new rename to t_newer;
Table altered.
因此,两个语句都在同一个schema
。
让我们连接到其他架构 -
SQL> SHOW USER
USER is "LALIT"
SQL>
SQL> create table t(id number);
Table created.
SQL> rename scott.t_newer to t_newest;
rename scott.t_newer to t_newest
*
ERROR at line 1:
ORA-01765: specifying owner's name of the table is not allowed
SQL> alter table scott.t_newer rename to t_newest;
Table altered.
因此,您会看到错误ORA-01765: specifying owner's name of the table is not allowed
。那个简单的rename
语句在其他模式对象上失败的地方。只有ALTER
语句有效。