ORA-00955: name is already used by an existing object
Şemada bu adda bir nesne zaten var. Tablolar, görünümler, sequence’lar, synonym’ler ve diğer çoğu nesne aynı ad alanını paylaşır; yani var olan nesne başka türde olabilir. Adını değiştirin, nesneyi silin ya da betiği yeniden çalıştırılabilir yapın.
ORA-00955 ne demek?
Bir şemada tablolar, görünümler, sequence’lar, özel synonym’ler, prosedürler, fonksiyonlar ve paketler tek bir ad alanını paylaşır. Bu yüzden ORDERS adında bir görünüm ya da synonym varsa CREATE TABLE orders da başarısız olur. İndekslerin ve kısıtların kendi ad alanları vardır, ama adları o alanda yine tekil olmalıdır.
ORA-00955 neden olur?
- Bir kurulum betiğini iki kez çalıştırmak.
- Aynı adlı, farklı türde bir nesne.
- Yarım kalmış eski bir kurulumdan artan bir nesne.
- Sandığınızdan farklı bir şemaya bağlı olmak.
ORA-00955 nasıl çözülür?
- Adı kimin tuttuğunu bulun:
USER_OBJECTS. - Nesne eskiyse silin; değilse başka bir ad seçin.
- Görünüm, prosedür ve paketlerde
CREATE OR REPLACEkullanın. - Oracle 23ai’de
CREATE TABLE IF NOT EXISTSbetiği yeniden çalıştırılabilir yapar; eski sürümlerde önce veri sözlüğüne bakın.
ORA-00955 örneği
Adı kim kullanıyor?
SELECT object_type, status, created
FROM user_objects
WHERE object_name = 'ORDERS';
SQLlightspeed’de
Bir ifade hata verdiğinde SQLlightspeed’in hata paneli, hata kodunu sade bir Türkçe açıklama ve ne yapmanız gerektiğine dair bir öneriyle; Oracle’ın kendi mesajı ve Oracle dokümantasyonuna bağlantıyla birlikte gösterir — bu hata ve sık görülen onlarca başka hata için.
İlgili hatalar
ORA-00942ORA-00001ORA-01031 Tüm Oracle hataları →
Oracle dokümantasyonu: ORA-00955. Oracle, Oracle Corporation’ın tescilli ticari markasıdır. SQLlightspeed’in Oracle ile bir bağlantısı yoktur.