成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

sql出現(xiàn)列名無(wú)效的原因 如何更新視圖中的數(shù)據(jù)?

如何更新視圖中的數(shù)據(jù)?更新視圖有三條規(guī)則:(1)如果使用連接操作基于多個(gè)表導(dǎo)出視圖,則每次更新視圖時(shí),只有一個(gè)表會(huì)受到影響。(2) 如果使用分組和聚合操作導(dǎo)出視圖,則不允許更新視圖。(3) 如果視圖是

如何更新視圖中的數(shù)據(jù)?

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

視圖是VFP提供的強(qiáng)大的數(shù)據(jù)處理功能。使用view,不僅可以從數(shù)據(jù)表中提取一組記錄,還可以在必要時(shí)更改記錄值,并在源數(shù)據(jù)表中反映更新的結(jié)果。但是VFP中的新視圖無(wú)法更新。我們需要修改視圖的屬性來(lái)更新它。在更新視圖之前,需要在視圖中至少選擇一個(gè)更新屬性選項(xiàng)。

2. 在實(shí)際應(yīng)用中,我們經(jīng)常需要臨時(shí)生成一個(gè)視圖,因此我們必須使用程序來(lái)修改視圖的屬性,以便對(duì)其進(jìn)行更新,例如:使用xjmonthcreate SQL view xjview as select*from xjmonth where department name=ksmuse Xjviewcursorsetprop(“keyfieldlist”,“name”*設(shè)置視圖和基表對(duì)應(yīng)的鍵字段。關(guān)鍵字字段必須是唯一的,否則在發(fā)送SQL更新時(shí)會(huì)出錯(cuò)。Cursorsetprop(“sendupdates”,。T.)*打開SQL update開關(guān)以啟用視圖來(lái)更新基表。此外,cursorsetprop函數(shù)還可以用來(lái)設(shè)置update字段(默認(rèn)值為all fields)、基表別名、update方法等屬性,但實(shí)際上大部分默認(rèn)值都可以滿足需要。您只需要設(shè)置關(guān)鍵字并打開SQL update開關(guān)。另一個(gè)使地圖識(shí)別可更新的函數(shù)是dbsetprop(),它可以為當(dāng)前數(shù)據(jù)庫(kù)或當(dāng)前數(shù)據(jù)庫(kù)中的字段、命名連接、表或視圖設(shè)置屬性。然而,dbsetprop()要求獨(dú)占當(dāng)前數(shù)據(jù)庫(kù),而cursortsetprop()可以修改遠(yuǎn)程視圖或臨時(shí)表的屬性,因此還涉及緩沖訪問和更新。此外,它們之間還存在一些語(yǔ)法差異。