最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PostgreSQL 修改視圖的操作

 更新時(shí)間:2021年01月26日 11:02:09   作者:VicLW  
這篇文章主要介紹了PostgreSQL 修改視圖的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

最近發(fā)現(xiàn)PostgreSQL(create or replace) 修改視圖有很多的限制,不像SQL Server和Oracle那樣可以隨意修改。

錯誤提示

修改視圖原有字段

ERROR: cannot change name of view column "user_id" to "?column?"

刪除視圖原有字段

ERROR: cannot drop columns from view

找到如下原因,內(nèi)容原文

究其原因,是PostgreSQL雖然支持CREATE OR REPLACE VIEW語義,卻有著容易讓人忽略的重要限制(Oracle沒有該限制),其官方文檔這樣描述:

即:更新視圖只能在最后增加字段,不能改字段名、不能刪除字段、也不能在中間增加字段,這在項(xiàng)目開發(fā)階段是不可忍受的。雖然PostgreSQL提供了ALTER VIEW的語句,但怎么也不如直接放在CREATE VIEW里那樣直觀。

因此,建議腳本放棄Oracle風(fēng)格的CREATE OR REPLACE VIEW形式,而改用MySQL風(fēng)格的先DROP VIEW再CREATE VIEW的形式。不過,如果VIEW間存在層次引用關(guān)系,如視圖A建立在視圖B之上,則CREATE時(shí)必須先建B后建A,DROP時(shí)必須先刪A再刪B。當(dāng)層次引用較多或變化較頻繁時(shí),調(diào)整順序又是件麻煩事。

為降低復(fù)雜性,腳本最終只考慮CREATE VIEW時(shí)的順序,而在DROP VIEW時(shí),綜合使用IF EXISTS 和CASCADE選項(xiàng),

如下所示:

DROP VIEW IF EXISTS B CASCADE;
CREATE VIEW B AS
...;
DROP VIEW IF EXISTS A CASCADE;
CREATE VIEW A AS
...;

補(bǔ)充:postgresql創(chuàng)建視圖

今天使用postgresql創(chuàng)建視圖時(shí),使用的名字全是大寫的 比如V_TEST

創(chuàng)建好了,是沒有問題的,顯示創(chuàng)建的視圖名字也是V_TEST。

然后我就開始查詢, select * from V_TEST 直接就報(bào)錯了,說v_test視圖不存在。

我就納悶了,為什么創(chuàng)建時(shí),你不給我轉(zhuǎn)成小寫,查詢時(shí),轉(zhuǎn)成了小寫。

不管怎樣,到時(shí)再說吧,可能是有個(gè)配置或者其它之類的導(dǎo)致轉(zhuǎn)為小寫了,但是目前沒有時(shí)間研究了,后續(xù)有空再研究吧,也算是一個(gè)postgresql的坑吧。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • 對postgresql日期和時(shí)間的比較

    對postgresql日期和時(shí)間的比較

    文章介紹了在數(shù)據(jù)庫中處理日期和時(shí)間類型時(shí)的一些注意事項(xiàng),包括如何將字符串轉(zhuǎn)換為日期或時(shí)間類型,以及在比較時(shí)自動轉(zhuǎn)換的情況,作者建議在使用數(shù)據(jù)庫時(shí),根據(jù)具體情況進(jìn)行適當(dāng)?shù)念愋娃D(zhuǎn)換,以避免潛在的錯誤
    2025-01-01
  • PostgreSQL中查看當(dāng)前時(shí)間和日期的幾種常用方法

    PostgreSQL中查看當(dāng)前時(shí)間和日期的幾種常用方法

    在 PostgreSQL 中,有多個(gè)函數(shù)可以用來查看當(dāng)前時(shí)間和日期,這些函數(shù)在處理時(shí)間戳、日期和時(shí)間的計(jì)算時(shí)非常有用,以下是幾種常用的查看當(dāng)前時(shí)間和日期的函數(shù)及示例,需要的朋友可以參考下
    2024-10-10
  • PostgreSQL中的COMMENT用法說明

    PostgreSQL中的COMMENT用法說明

    這篇文章主要介紹了PostgreSQL中的COMMENT用法說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL數(shù)據(jù)庫性能調(diào)優(yōu)的注意點(diǎn)以及pg數(shù)據(jù)庫性能優(yōu)化方式

    PostgreSQL數(shù)據(jù)庫性能調(diào)優(yōu)的注意點(diǎn)以及pg數(shù)據(jù)庫性能優(yōu)化方式

    這篇文章主要介紹了PostgreSQL數(shù)據(jù)庫性能調(diào)優(yōu)的注意點(diǎn)以及pg數(shù)據(jù)庫性能優(yōu)化方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • pgsql批量修改sequences的start方式

    pgsql批量修改sequences的start方式

    這篇文章主要介紹了pgsql批量修改sequences的start方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Postgresql 實(shí)現(xiàn)查詢一個(gè)表/所有表的所有列名

    Postgresql 實(shí)現(xiàn)查詢一個(gè)表/所有表的所有列名

    這篇文章主要介紹了Postgresql 實(shí)現(xiàn)查詢一個(gè)表/所有表的所有列名,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • postgresql 獲取兩個(gè)時(shí)間類型小時(shí)差值案例

    postgresql 獲取兩個(gè)時(shí)間類型小時(shí)差值案例

    這篇文章主要介紹了postgresql 獲取兩個(gè)時(shí)間類型小時(shí)差值案例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • PostgreSQL教程(二):模式Schema詳解

    PostgreSQL教程(二):模式Schema詳解

    這篇文章主要介紹了PostgreSQL教程(二):模式Schema詳解,本文講解了創(chuàng)建模式、public模式、權(quán)限、刪除模式、模式搜索路徑等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • PostgreSQL?Log日志模塊原理及存在的問題詳解

    PostgreSQL?Log日志模塊原理及存在的問題詳解

    這篇文章主要給大家介紹了關(guān)于PostgreSQL?Log日志模塊原理及存在的問題的相關(guān)資料,先日志在我們開發(fā)過程中占據(jù)了一個(gè)非常重要的地位,是開發(fā)和運(yùn)維管理之間的橋梁,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • PostgreSQL 實(shí)現(xiàn)查詢表字段信息SQL腳本

    PostgreSQL 實(shí)現(xiàn)查詢表字段信息SQL腳本

    這篇文章主要介紹了PostgreSQL 實(shí)現(xiàn)查詢表字段信息SQL腳本,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01

最新評論

乌拉特中旗| 繁峙县| 旌德县| 通化县| 康保县| 东海县| 保亭| 来宾市| 台南县| 阿克苏市| 东阳市| 慈溪市| 恩平市| 嘉荫县| 阳高县| 布尔津县| 安仁县| 明光市| 琼海市| 汉中市| 芦山县| 合肥市| 开阳县| 九台市| 阿拉尔市| 都匀市| 武宁县| 遂川县| 五寨县| 霍城县| 龙胜| 昭苏县| 法库县| 台州市| 资兴市| 库伦旗| 阳泉市| 香河县| 道真| 敦煌市| 宣城市|