最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)建或者修改視圖的評論 (共 條)

分享到微博請遵守國家法律
房产| 永济市| 商都县| 杂多县| 雅江县| 铁力市| 濉溪县| 长白| 昆明市| 凌云县| 鲜城| 新巴尔虎右旗| 静安区| 四川省| 曲靖市| 察隅县| 洛浦县| 林芝县| 张家口市| 卓尼县| 莲花县| 庆云县| 塘沽区| 大新县| 班玛县| 凉山| 长岛县| 泾川县| 南皮县| 汉中市| 鄂托克旗| 江都市| 治县。| 东乡族自治县| 彭泽县| 甘肃省| 芒康县| 潼关县| 黔东| 沈丘县| 正阳县|