我将尝试在Oracle中更改表名。
首先运行此脚本来声明表。
它运行正常,然后我尝试运行。
我遇到了这个错误:
CREATE TABLE CUSTOMER
(
C_ID NUMBER(6,0),
C_LAST VARCHAR2(25),
C_FIRST varchar2(25),
C_MI char(1),
C_DOB DATE,
C_ADDRESS varchar2(100),
C_CITY varchar2(35),
C_STATE char(2),
C_ZIP varchar2(10),
C_DPHONE varchar2(12),
C_EPHONE varchar2(12),
C_USERID varchar2(20),
C_PASSWORD VARCHAR2(30),
CONSTRAINT CUSTOMER_PK PRIMARY KEY(C_ID)
);
CREATE TABLE ORDER_SOURCE
(
OS_ID NUMBER(6),
OS_DESC varchar2(255),
CONSTRAINT ORDER_SOURCE_PK PRIMARY KEY(OS_ID)
);
CREATE TABLE ORDERS
(
O_ID NUMBER(6),
O_DATE DATE,
O_METHPMT varchar2(25),
C_ID NUMBER(6),
OS_ID NUMBER(6),
CONSTRAINT ORDERS_PK PRIMARY KEY(O_ID),
CONSTRAINT ORDERS_CUSTOMER_FK FOREIGN KEY(C_ID) REFERENCES CUSTOMER(C_ID),
CONSTRAINT ORDERS_ORDER_SOURCE_FK FOREIGN KEY(OS_ID) REFERENCES ORDER_SOURCE(OS_ID)
);
它运行正常,然后我尝试运行。
alter table ORDERS
rename to ORDER;
我遇到了这个错误:
在命令的第一行进行alter table ORDERS rename to 操作时出错。 错误报告:SQL 错误:ORA-00903: 无效的表名 00903. 00000 - "无效的表名" *原因:
*解决方法:
ORDER
是保留字(例如order by
),请尝试使用rename to "ORDER"
(或者[ORDER]
,我记不清 Oracle 使用哪个)。 - Alex K.