Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
SQLSTATE : 42P01
Tablo veya görünüm <relationName>
bulunamıyor. Şemanın ve kataloğun yazımını ve doğruluğunu doğrulayın.
Adı bir şemayla nitelemediyseniz, current_schema() çıkışını doğrulayın veya adı doğru şema ve katalogla niteleyin.
Bırakma sırasında hatayı tolere etmek için DROP VIEW VARSA veya DROP TABLE VARSA kullanın.
Parametreler
- relationName: Belirtilen ilişkinin (tablo veya görünüm) adı bulunamadı.
Açıklama
Kalıcı tablolar ve görünümler üç ad bölümünden oluşur: <catalog>.<schema>.<relation>
.
Adın üç bölümünü de belirtmezseniz, geçerli katalog veya geçerli şema kullanılarak otomatik olarak tamamlanır.
Bu, yolu tam olarak belirtmediğiniz sürece dosya sisteminizin çalışma dizininin hangi dosyaları görebileceğinizi nasıl etkilediğine benzer.
Geçici görünümler veya ortak tablo ifadeleri (CTE) yalnızca oturum veya sorgu içinde bulunur ve hiçbir zaman nitelenmemelidir.
Tablo veya görünüm bulamamanın en yaygın nedeni şunlardır:
- Nesne basitçe mevcut değildir.
- Nesne adı, şema veya katalog yanlış yazılmış.
- Nesne geçerli şemada değil.
- Kullanıcının nesneye erişimi yoktur ve bu nedenle nesneyi göremez.
Azaltma
Hatanın azaltılması nedene bağlıdır:
Tablo veya görünüm, şema veya katalog adını yanlış mı yazdınız?
Yazımı düzeltin.
İsmi tam olarak belirtmediniz ve
VALUES current_schema()
'in sonucu, tablonun veya görünümün tam adıyla eşleşmiyor mu?relationName
şeması ve kataloğuyla açıkça niteleyin veya istenen örtük şemayı ayarlamak için birUSE SCHEMA
komutu gönderin.Geçici bir görünüme mi başvurdunuz, ancak bu görünüm daha önceki, süresi dolmuş veya farklı bir oturumda mıydı?
CREATE TEMPORARY VIEW \<relationName\> …
kullanarak geçici görünümü yeniden oluşturun veya kalıcı bir görünüm kullanmaya geçin.Ortak bir tablo ifadesine (CTE) başvurdunuz ama kapsam dışı mı?
CTE'nin tanımını en dıştaki sorguya taşıyın. Bu, ifade için başlangıçtır, bu yüzden ifade boyunca her yerde görünür.
Nesnenin mevcut olması durumunda 'DROP TABLE' gibi bir DDL deyimi vermek istiyor musunuz?
IF EXISTS
yan tümcesini kullanarak ifadeyi yayın, örneğin:DROP TABLE \<relationName\> IF EXISTS
.Nesnenin var olduğunu biliyor, ancak
SHOW TABLE
içinde göremiyor musunuz?Verilen tabloya erişmek için yöneticinize başvurun. Bunun şemaya ve kataloğa erişimi de içermesi gerekebilir.
Tabloyu veya görünümü neden çözümleyemediğiniz belirsiz mi?
İsim çözümlemesinin ayrıntılı açıklaması için Tablosuna ve çözünürlük bakınız.
Örnekler
-- The table is located in othercat.someschema
> SELECT count(*) FROM t;
[TABLE_OR_VIEW_NOT_FOUND] The table or view `t` cannot be found.
> VALUES current_schema();
default
-- Change the current schema
> USE SCHEMA othercat.someschema;
> SELECT count(*) FROM T;
1
-- Alternatively qualify the table
> SELECT count(*) FROM othercat.someschema.t;
1
-- A reference to a CTE in the wrong scope:
> SELECT count(1) FROM (WITH v(c1) AS (VALUES (1)) VALUES(2)) AS t(c1), v;
[TABLE_OR_VIEW_NOT_FOUND] The table or view `v` cannot be found.
-- Move the CTE to top level
> WITH v(c1) AS (VALUES (1))
SELECT count(1) FROM VALUES(2) AS t(c1), v;
1
-- Dropping a non existing view
> DROP VIEW v;
[TABLE_OR_VIEW_NOT_FOUND] The table or view `v` cannot be found.
> DROP VIEW IF EXISTS v;