自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

視圖上定義sql server觸發(fā)器

數(shù)據(jù)庫 SQL Server
如果需要代替UPDATE語句,可以在在視圖上定義INSTEAD OF UPDATE觸發(fā)器,用于修改一個或多個基表的數(shù)據(jù)。下面就將為您介紹此方法。

sql server觸發(fā)器在SQL數(shù)據(jù)庫中非常重要,下面就將為您介紹在視圖上定義 INSTEAD OF UPDATE 觸發(fā)器的方法,希望對您更好學習sql server觸發(fā)器能有所幫助。

可在視圖上定義 INSTEAD OF UPDATE 觸發(fā)器以代替 UPDATE 語句的標準操作。通常,在視圖上定義 INSTEAD OF UPDATE 觸發(fā)器以便修改一個或多個基表中的數(shù)據(jù)。

引用帶有 INSTEAD OF UPDATE 觸發(fā)器的視圖的 UPDATE 語句必須為 SET 子句中引用的所有不可為空的視圖列提供值。該操作包括在基表中引用列的視圖列(該基表不能指定輸入值),如:

◆基表中的計算列。

◆IDENTITY INSERT 設(shè)置為 OFF 的基表中的標識列。

◆具有 timestamp 數(shù)據(jù)類型的基表列。

通常,當引用表的 UPDATE 語句試圖設(shè)置計算列、標識列或 timestamp 列的值時會產(chǎn)生錯誤信息,因為這些列的值必須由 Microsoft® SQL Server™ 決定。這些列必須包含在 UPDATE 語句中,以便滿足該行的 NOT NULL 需要。然而,如果 UPDATE 語句引用帶 INSTEAD OF UPDATE 觸發(fā)器的視圖,該視圖中定義的邏輯能夠回避這些列并避免錯誤。為此,INSTEAD OF UPDATE 觸發(fā)器必須不試圖更新基表中相應(yīng)列的值。通過不將這些列包含在 UPDATE 語句的 SET 子句中即可達到此目的。在 inserted 表中處理記錄時,計算列、標識列或 timestamp 列可以包含虛值以滿足 NOT NULL 列的需要,但是 INSTEAD OF UPDATE 觸發(fā)器忽略這些列值并且由 SQL Server 設(shè)置正確的值。

由于 INSTEAD OF UPDATE 觸發(fā)器不必在未更新的 inserted 列中處理數(shù)據(jù),因此該解決方法起作用。在傳遞到 INSTEAD OF UPDATE 觸發(fā)器的 inserted 表中,SET 子句中指定的列遵從與 INSTEAD OF INSERT 觸發(fā)器中的 inserted 列相同的規(guī)則。對于在 SET 子句中未指定的列,inserted 表包含在發(fā)出 UPDATE 語句前已存在的值。sql server觸發(fā)器可以通過使用 IF UPDATED(column) 子句來測試特定的列是否已更新。

INSTEAD OF UPDATE 觸發(fā)器僅應(yīng)在 WHERE 子句搜索條件中使用為計算列、標識列或 timestamp 列提供的值。

視圖上的 INSTEAD OF UPDATE 觸發(fā)器應(yīng)該用來處理為計算列、標識列、timestamp 列或默認列提供的更新值的邏輯與應(yīng)用于這些列類型的插入值的邏輯相同。

說明: 在含有用 UPDATE 操作定義的外鍵的表上,不能定義 INSTEAD OF UPDATE 觸發(fā)器。

 

 

【編輯推薦】

sql server字符串的類型

sql server字符串截取實例分析

sql server字符串函數(shù)分類詳解

sql server字符串串聯(lián)運算符示例

sql server端口的更改方法

 

責任編輯:段燃 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-04-19 10:43:27

SQL Server

2009-04-07 13:56:03

SQL Server觸發(fā)器實例

2010-07-16 10:19:31

2010-11-12 15:35:55

SQL Server約

2010-07-06 14:47:03

SQL Server數(shù)

2010-10-20 14:34:48

SQL Server觸

2010-10-22 11:10:43

SQL Server觸

2010-11-08 11:49:24

SQL Server管

2010-07-05 11:09:55

SQL Server觸

2011-03-28 10:05:57

sql觸發(fā)器代碼

2010-11-10 13:37:01

SQL Server觸

2011-03-03 09:30:24

downmoonsql登錄觸發(fā)器

2010-10-19 15:31:40

sql server觸

2019-10-22 07:50:45

SqlServer數(shù)據(jù)庫觸發(fā)器

2010-07-05 11:01:37

Sql Server觸

2010-09-01 16:40:00

SQL刪除觸發(fā)器

2011-05-20 14:06:25

Oracle觸發(fā)器

2010-06-30 09:36:25

SQL Server

2011-04-01 16:35:09

SQL Server數(shù)觸發(fā)器

2009-04-26 22:27:54

觸發(fā)器密碼修改數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號