卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

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

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

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

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

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

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