創(chuàng)建視圖的sql語(yǔ)句實(shí)例 利用sql語(yǔ)句如何更新視圖?
利用sql語(yǔ)句如何更新視圖?更新視圖有三條規(guī)則:(1)如果使用連接操作基于多個(gè)表導(dǎo)出視圖,則每次更新視圖時(shí),只有一個(gè)表會(huì)受到影響。(2) 如果使用分組和聚合操作導(dǎo)出視圖,則不允許更新視圖。(3) 如果
利用sql語(yǔ)句如何更新視圖?
更新視圖有三條規(guī)則:(1)如果使用連接操作基于多個(gè)表導(dǎo)出視圖,則每次更新視圖時(shí),只有一個(gè)表會(huì)受到影響。(2) 如果使用分組和聚合操作導(dǎo)出視圖,則不允許更新視圖。(3) 如果視圖是通過(guò)選擇和投影從表中派生出來(lái)的,并且在視圖中包含表的主鍵或候選鍵,則這種視圖稱(chēng)為行-列-子集視圖??梢詫?duì)這些視圖執(zhí)行更新。只有滿(mǎn)足以下條件時(shí),才能更新視圖:1。select語(yǔ)句在選擇列表中沒(méi)有聚合函數(shù),也不包含top、group by、Union(除非視圖已分區(qū))或distinct子句。只要不修改from子句返回的值,就可以在子查詢(xún)中使用聚合函數(shù)。2select語(yǔ)句的select列表中沒(méi)有派生列。派生列是由任何非簡(jiǎn)單列表表達(dá)式(使用函數(shù)、加法或減法運(yùn)算符等)組成的結(jié)果集列。三。select語(yǔ)句中的from子句至少引用了一個(gè)表。select語(yǔ)句不能只包含非表格式表達(dá)式(即不是從表派生的表達(dá)式)。4在insert、update和delete語(yǔ)句引用可更新視圖之前,它們必須滿(mǎn)足上述條件中指定的某些限制。只有當(dāng)視圖可以更新并且update或insert語(yǔ)句只修改視圖的from子句引用的基表中的數(shù)據(jù)時(shí),update和insert語(yǔ)句才能引用視圖。delete語(yǔ)句只能在視圖只引用其from子句中的一個(gè)表時(shí)引用可更新視圖。