2010-11-02 40 views
1

Ok c'est ce que ... happenddrop base de données appelée "User" d'Oracle

Un de mes collèges exécuter un script qui a créé des tables qui comprenait une table appelée "User" sur un 10g XE Oracle. Maintenant, nous ne pouvons pas laisser tomber cette table, nous obtenons un ORA-00903 chaque fois que nous courons un:

DROP TABLE USER CASCADE CONSTRAINTS

La même chose se produit à chaque fois que nous essayons d'exécuter une requête de modification sur elle (cela signifie changement de nom ne fonctionne pas

Est-ce que quelqu'un sait comment gérer cela?

+0

Combien de collèges avez-vous ? ;) –

+0

@Jeffrey Kemp: Autant que des erreurs qui ont besoin d'un bouc émissaire. ;) – Chepech

Répondre

2

Avez-vous essayé entièrement qualifier avec des citations:

drop table "myschema"."user" 
+0

Devrait-il être "myschema". "User" '? – Gabe

+0

yep - merci gabe - édité pour correction – Randy

+0

Yo'r l'homme! merci beaucoup, mon "collège" sera très heureux =) – Chepech

2

Randy est droit suggérant des identificateurs entre guillemets. Notez cependant que quoted identifiers are case-sensitive.

d'abord, ALL_TABLES de requête ou USER_TABLES pour trouver le nom sensible à la casse de cette table, et utiliser ce nom dans un énoncé tel que

DROP TABLE "User"; 

ou

ALTER TABLE "User" RENAME TO TBL_USERS; 
+0

Cela ne marchera pas sans le FQN, comme le suggère Randy. – Chepech