Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Tabel atau tampilan <relationName> tidak dapat ditemukan. Verifikasi ejaan dan kebenaran skema dan katalog.
Jika Anda tidak menentukan nama dengan skema, periksa keluaran current_schema(), atau tentukan nama dengan skema dan katalog yang benar.
Untuk mentolerir kesalahan saat drop, gunakan DROP VIEW IF EXISTS atau DROP TABLE IF EXISTS.
Parameter
- relationName: Nama relasi yang ditentukan (tabel atau tampilan) yang tidak dapat ditemukan.
Penjelasan
Tabel dan tampilan yang tersimpan terdiri dari tiga bagian nama: <catalog>.<schema>.<relation>.
Jika Anda tidak menentukan ketiga bagian nama, maka secara implisit akan diselesaikan menggunakan katalog saat ini atau skema saat ini.
Ini mirip dengan cara direktori kerja sistem file Anda memengaruhi file mana yang dapat Anda lihat, kecuali Anda sepenuhnya menentukan jalur.
Tampilan sementara atau ekspresi tabel umum (CTE) hanya ada selama sesi atau kueri dan tidak boleh diberi kualifikasi.
Alasan paling umum untuk tidak menemukan tabel atau tampilan adalah:
- Objek tidak ada.
- Nama objek, skema, atau katalog salah eja.
- Objek tidak terletak di skema saat ini.
- Pengguna tidak memiliki akses ke objek dan karena itu tidak dapat melihatnya.
Mitigasi
Mitigasi kesalahan tergantung pada penyebabnya:
Apakah Anda salah mengeja tabel atau tampilan, skema, atau nama katalog?
Koreksi ejaan.
Apakah Anda tidak menyertakan kualifikasi lengkap untuk nama dan hasil
VALUES current_schema()tidak cocok dengan nama tabel atau view yang dikualifikasi?Secara eksplisit memenuhi syarat
relationNamedengan skema dan katalognya, atau mengeluarkan perintahUSE SCHEMAuntuk mengatur skema implisit yang diinginkan.Apakah Anda mengacu pada tampilan sementara, tetapi tampilan tersebut ada di sesi sebelumnya, telah kedaluwarsa, atau berbeda?
Buat ulang tampilan sementara menggunakan
CREATE TEMPORARY VIEW \<relationName\> …, atau beralih menggunakan tampilan permanen.Apakah Anda merujuk ekspresi tabel umum (CTE), namun sudah di luar cakupan?
Pindahkan definisi CTE ke kueri terluar. Itu adalah awal pernyataan, sehingga terlihat di mana-mana dalam pernyataan.
Apakah Anda ingin mengeluarkan pernyataan DDL, seperti 'DROP TABLE' untuk berjaga-jaga jika objek ada?
Terbitkan pernyataan menggunakan klausa
IF EXISTS, seperti:DROP TABLE \<relationName\> IF EXISTS.Apakah Anda tahu objek itu ada, tetapi Anda tidak dapat melihatnya di
SHOW TABLE?Hubungi administrator Anda untuk mendapatkan akses ke tabel yang diberikan. Ini mungkin perlu menyertakan akses ke skema dan katalog juga.
Tidak jelas mengapa Anda tidak dapat menyelesaikan tabel atau tampilan?
Rujuk Tabel dan lihat resolusi untuk deskripsi terperinci tentang resolusi nama.
Contoh
-- 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;