Changement de nom de la table Oracle
J'essaye de modifier un nom de table dans oracle.
J'ai d'abord exécuter ce script pour déclarer le tableau
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)
);
Il fonctionne correctement, je puis essayez d'exécuter
alter table ORDERS
rename to ORDER;
J'obtiens cette erreur:
D'erreur commençant à la ligne 1 dans la commande: alter table COMMANDES de renommer l'
Une Erreur de COMMANDE du rapport: SQL Error: ORA-00903: nom de table non valide
00903. 00000 - non valide "nom de table"
*Cause:
*Action:
ORDER
est réservé (comme dans order by
) essayez rename to "ORDER"
(ou [ORDER]
je ne me souviens pas ce que l'oracle utilise)
OriginalL'auteur Antarr Byrd | 2012-11-08
Vous devez vous connecter pour publier un commentaire.
ordre est un mot réservé dans oracle vous ne pouvez donc pas l'utiliser comme un nom de table. Vous pouvez essayer de s'échapper avec des guillemets doubles ("commande"), mais ce n'est pas une bonne pratique
OriginalL'auteur Shepherdess
Syntaxe "
RENAME TABLE tab_old TO tab_new
" n'est pas correct.Syntaxe correcte: "
RENAME tab_old TO tab_new
".Le mot "TABLE" ne devrait pas être dans l'état.
RENAME TABLE...
Vous lié MySQL 5.1 Manuel de Référence, pas de base de données Oracle de la documentation.
OriginalL'auteur Vladimir
Si il y a une vue ou une clé étrangère qui fait référence à la table, tente de renommer, il va générer une erreur. En outre, s'il y a des contraintes de vérification ou des déclencheurs de la table, tente de renommer il permettra également de générer une erreur.
Et dans votre cas, la "COMMANDE" de la table nom est RÉSERVÉ, de sorte s'il vous plaît essayer de changer le nom
OriginalL'auteur djadmin