TABLE_OR_VIEW_NOT_FOUND錯誤類
表或視圖< relationName >
不能被發現。的拚寫和正確性驗證模式和目錄。
如果你沒有資格名稱模式,驗證current_schema()輸出,或與正確的模式限定名稱和目錄。
容忍錯誤滴水使用視圖上如果存在或刪除表的存在。
解釋
保存表和視圖包含三名部分:<目錄>。<模式>。<關係>
。如果你不指定名稱的所有三個部分,這是隱式地使用當前目錄或當前模式完成。這是類似於你的工作目錄文件係統如何影響哪些文件可以看到,除非你完全指定路徑。
臨時視圖或公共表表達式(CTE)隻存在在會話或查詢和絕不是合格的。
最常見的原因沒有找到一個表或視圖:
根本不存在的對象。
對象名稱、模式或目錄是拚寫錯誤。
對象不是位於當前模式。
用戶沒有訪問對象,因此看不見它。
緩解
錯誤的減排取決於原因:
你拚寫的表或視圖、模式或目錄名稱不正確嗎?
正確的拚寫。
你沒有完全限定的名稱和結果的值current_schema ()”不匹配的限定名稱表或視圖?
明確的資格
relationName
模式和目錄,或發出“使用模式”命令來設置所需的隱式模式。你引用一個臨時觀點,但在之前,過期,或不同的會話嗎?
重新創建臨時視圖使用“創建臨時查看< relationName >…”,或切換到使用一個永久的視圖。
你引用一個公共表表達式(CTE),但它的範圍?
CTE的定義移動到最外層查詢。這是聲明的開始,所以在聲明中到處都是可見的。
你想發出一個DDL語句,如“刪除表”以防對象存在嗎?
問題聲明使用
如果存在
條款,如:“DROP TABLE < relationName >如果存在”。你知道對象存在,但你不能看到它嗎“顯示表”嗎?
聯係管理員獲得訪問表。這可能需要包括訪問模式和目錄。
目前還不清楚為什麼你不能解決表或視圖?
指表和視圖的決議名稱解析的詳細描述。
例子
——表位於othercat.someschema>選擇數(*)從t;(TABLE_OR_VIEW_NOT_FOUND]的表或視圖”t”不能是發現。>值current_schema();默認的——改變當前的模式>使用模式othercat。someschema;>選擇數(*)從T;1——或者資格表>選擇數(*)從othercat。someschema。t;1——CTE引用錯誤的範圍:>選擇數(1)從(與v(c1)作為(值(1))值(2))作為t(c1),v;(TABLE_OR_VIEW_NOT_FOUND]的表或視圖”v”不能是發現。——移動CTE頂級>與v(c1)作為(值(1))選擇數(1)從值(2)作為t(c1),v;1——刪除一個非現有的視圖>下降視圖v;(TABLE_OR_VIEW_NOT_FOUND]的表或視圖”v”不能是發現。>下降視圖如果存在v;