无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

軟件測試 | MySQL創(chuàng)建或者修改視圖

2023-07-28 15:59 作者:愛測軟件測試  | 我要投稿

創(chuàng)建視圖需要有CREATE VIEW的權(quán)限,并且對于查詢設(shè)計的列有SELECT權(quán)限。如果使用CRESTE OR REPLACE或者ALTER修改視圖,那么還需要該視圖的DROP權(quán)限。

創(chuàng)建視圖的語法為:

修改視圖的語法為:

例如,要創(chuàng)建了視圖staff_list_view,可以使用以下命令:

MySQL視圖的定義有一些限制,例如,在FROM關(guān)鍵字后面不能含子查詢,這和其他數(shù)據(jù)庫時不同的,如果視圖是從其他數(shù)據(jù)庫遷移過來的,那么可能需要因此做一些改動,可以將子查詢的內(nèi)容先定義一個視圖,然后對該視圖再創(chuàng)建視圖就可以實現(xiàn)類似的功能了。

視圖的可更新性和視圖中查詢的定義有關(guān)系,以下類型的視圖是不可更新的。

  • 包含以下關(guān)鍵字的SQL語句:聚合函數(shù)(SUM、MIN、MAX、COUNT等)、DISTINCT、GROUPBY、HAVING、UNION或者UNION ALL。

  • 常量視圖

  • SELECT中包含子查詢

  • JION

  • FROM一個不能更新的視圖

  • WHERE字句的子查詢引用了FROM字句中的表

例如,以下的視圖都是不可更新的:

WITH[CASEADED | LOCAL] CHECK OPTION決定了是否允許更新數(shù)據(jù)使記錄不再滿足視圖的條件。這個選項與Oracle數(shù)據(jù)庫中的選項是類似的,其中:

  • LOCAL是只要滿足本視圖的條件就可以更新;

  • CASCADED則是必須滿足所有針對該視圖的所有視圖的條件才可以更新。

如果沒有明確的LOCAL還是CASCADED,則默認(rèn)是CASEADED。

例如,對payment表創(chuàng)建兩層視圖,并進(jìn)行更新操作:

從測試結(jié)果可以看出,payment_view1 是 WITH LOCAL CHECK OPTION 的,所以只要滿足本視圖的條件就可以更新,但是 payment_view2 是 WITH CASCADED CHECK OPTION 的,必須滿足針對該視圖的所有視圖才可以更新,因為更新后記錄不再滿足 payment_view 的條件,所以更新操作提示錯誤退出。

搜索微信公眾號:TestingStudio霍格沃茲的干貨都很硬核

軟件測試 | MySQL創(chuàng)建或者修改視圖的評論 (共 條)

分享到微博請遵守國家法律
平湖市| 库尔勒市| 定南县| 法库县| 新津县| 三都| 阿勒泰市| 石柱| 峨眉山市| 云安县| 梧州市| 阳东县| 吉安县| 彰武县| 三都| 苍山县| 邹平县| 白城市| 台湾省| 龙里县| 通江县| 兖州市| 伊金霍洛旗| 麻城市| 阳曲县| 夹江县| 弋阳县| 滦平县| 醴陵市| 迁安市| 台前县| 庆阳市| 商河县| 泾源县| 鹰潭市| 噶尔县| 调兵山市| 大足县| 宜兰市| 郎溪县| 镇远县|