1. 程式人生 > >關於MAC中資料庫檢視無法修改的問題(navicat)

關於MAC中資料庫檢視無法修改的問題(navicat)

mac中navicat無法修改檢視

本人使用的是mac版navicat premium 12

檢視的簡單介紹

建立檢視的原因是簡化查詢語句,使查詢語句更精簡,易懂。但是檢視對於查詢效率本身不會有什麼提高,而且檢視查詢出來的資料並不會儲存在資料庫中。而是每次使用檢視的時候呼叫檢視的sql語句查詢

還有名字相近的物化檢視(其實與傳統檢視並沒有毛關係),也就是navicat 中的實體化檢視。物化檢視是儲存在資料庫中的真實存在的表(其實就是將select查詢出來的資料寫入一張表中,相當於一張真實的資料表),但是他不會隨著原始資料的改變而重新整理,需要手動重新整理(據瞭解,oracle已經可以自動重新整理,其他的好像沒有)。

檢視的修改問題

windows 的版本navicat檢視的修改是 CREATE OR REPLACE VIEW “public”."__active_time_view" AS SELECT get_year(at.d)::double AS year,

mac版本中的navicat中 是要先刪除(drop掉)原始的檢視,再建立檢視,對不起,如果你的檢視被其他使用(即被其他使用),是不能修改的

給出的方法是: 參考windows中的sql語句,手動修改,並在命令列去執行

忘了:如果是檢視依賴問題,windows可能也是不可以的,下面會給出詳細的情況

特殊的檢視依賴情況

其實只要是不修改原來的檢視資料,即使檢視依賴也是可以直接修改的,如果你沒修改原始的資料,比如說新增新的欄位,是可以修改成功的。如果發生錯誤,可能是你在操作的過程中navicat修改了原來資料的資料型別導致的,可以檢查一下資料型別是否發生改變

修改檢視欄位名字(修改檢視本身)

對於這個東西,如果依賴,現在是沒有什麼辦法,只能先刪除依賴,再進行修改。 儘量不要使用檢視的巢狀使用,操作性很差。