freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

sqlserver2000使用手冊(cè)-資料下載頁

2025-06-25 07:30本頁面
  

【正文】 數(shù)據(jù)項(xiàng)的活動(dòng)。觸發(fā)器是在數(shù)據(jù)更新后執(zhí)行的“后置過濾器”,并且SQL Server已經(jīng)確認(rèn)了這些規(guī)則、默認(rèn)值等。觸發(fā)器是SQL Server執(zhí)行的特殊類型的存儲(chǔ)過程,它發(fā)生在對(duì)于一個(gè)給定表的插入、修改或刪除操作執(zhí)行后。由于觸發(fā)器是在操作有效執(zhí)行后才被運(yùn)行,在修改中它們代表“最后動(dòng)作”。假如觸發(fā)器導(dǎo)致的一個(gè)請(qǐng)求失敗的話,SQL Server將拒絕信息更新,并且對(duì)那些傾向于事務(wù)處理的應(yīng)用程序返回一個(gè)錯(cuò)誤消息。觸發(fā)器最普遍的應(yīng)用是實(shí)施數(shù)據(jù)庫中的商務(wù)規(guī)則,當(dāng)然在維持引用完整性方面,外鍵要比觸發(fā)器更快,但觸發(fā)器能夠維持那些外鍵所不能處理的復(fù)雜關(guān)系。觸發(fā)器不會(huì)明顯影響服務(wù)器的性能。它們經(jīng)常被用于增強(qiáng)那些在其他的表和行上進(jìn)行很多級(jí)聯(lián)操作的應(yīng)用程序的功能。2.創(chuàng)建觸發(fā)器創(chuàng)建觸發(fā)器的用戶必須是該數(shù)據(jù)庫的擁有者,當(dāng)添加一個(gè)觸發(fā)器到列、行或表的時(shí)候,就會(huì)改變?cè)鯓邮贡砟軌虮辉L問,怎樣使其他對(duì)象能夠與之關(guān)聯(lián)等。當(dāng)然這種類型的操作為數(shù)據(jù)庫擁有者所保留,以便防止有人無意中修改了系統(tǒng)的布局格式。創(chuàng)建觸發(fā)器相當(dāng)于說明一個(gè)存儲(chǔ)過程,并且它有相似的語法。創(chuàng)建觸發(fā)器的語法格式如下:CREATE TRIGGER trigger_nameON table[WITH ENCRYPTION]{ { FOR {[DELETE][,INSERT][,UPDATE]} [WITH APPEND][NOT FOR REPLICATION]AS Sql_statement […n] } |{ FOR {[INSERT][,UPDATE]} [WITH APPEND][NOT FOR REPLICATION]AS{ IF UPDATE(column)[{AND│OR}UPDATE(column)] […n]|IF (COLUMNS_UPDATED()bitwise_operator)updated_bitmask){parison_operator}column_bitmask[…n]}Sql_statement[…n]}}上述語句中的trigger_name為所定義的觸發(fā)器名稱;關(guān)鍵字INSERT、UPDATE、DELETE定義了觸發(fā)器的作用域,后者決定了啟動(dòng)觸發(fā)器的操作;Sql_statement為包含在觸發(fā)器中的任何合法的SQL語句。在Windows開始菜單中執(zhí)行“程序|Microsoft SQL Server|企業(yè)管理器”命令,進(jìn)入SQL Server Enterprise Manager界面。在SQL Server Enterprise Manager中展開SQL Server組,再展開數(shù)據(jù)庫項(xiàng),選擇要?jiǎng)?chuàng)建觸發(fā)器的數(shù)據(jù)庫(如studb),再選中要?jiǎng)?chuàng)建觸發(fā)器的表(如S),按右鍵,在彈出的菜單上選擇“所有任務(wù)”命令,再選“管理觸發(fā)器…”命令,如圖34所示,彈出一個(gè)“觸發(fā)器屬性”窗口,如圖35所示,在該窗口中輸入觸發(fā)器代碼。3)inserted和deleted 表當(dāng)觸發(fā)器被執(zhí)行時(shí),SQL Server創(chuàng)建一個(gè)或兩個(gè)臨時(shí)表(inserted或者deleted 表)。當(dāng)一個(gè)記錄插入到表中時(shí),相應(yīng)的插入觸發(fā)器創(chuàng)建一個(gè)inserted表,該表鏡像該觸發(fā)器相連接的表的列結(jié)構(gòu)。例如,當(dāng)用戶在S表中插入一行時(shí),S表的觸發(fā)器使用S表的列結(jié)構(gòu)創(chuàng)建inserted表。對(duì)于插入到S表的每一行,相應(yīng)地在inserted表中也包括該行。deleted表也鏡象觸發(fā)器相連接的表的列結(jié)構(gòu)。當(dāng)執(zhí)行一條DELETE語句時(shí)從表中刪除的每一行都包含在刪除觸發(fā)器內(nèi)的deleted表中。圖34 選擇“管理觸發(fā)器”命令圖35 “觸發(fā)器屬性”窗口被UPDATE語句觸發(fā)的觸發(fā)器創(chuàng)建兩個(gè)表inserted和deleted表,這兩個(gè)表和它們相連接的表有相同的列結(jié)構(gòu)。deleted 和inserted表分別包含相連接表中數(shù)據(jù)的“前后”快照。例如,假設(shè)用戶執(zhí)行下面的語句:UPDATE S SET SNO=’S10’ WHERE SNO=’S9’當(dāng)該語句被執(zhí)行時(shí),S表中的更新觸發(fā)器被觸發(fā)。在觸發(fā)器的inserted和deleted表中,該語句所改變的每一數(shù)據(jù)行都在這兩個(gè)表中包含一行。deleted表中行的數(shù)據(jù)值是執(zhí)行UPDATE語句之前的S表中行的數(shù)據(jù)值;inserted表中則是執(zhí)行UPDATE語句后的S表中行的數(shù)據(jù)值。4)Update函數(shù)觸發(fā)器降低了SQL Server事務(wù)的性能并且在事務(wù)執(zhí)行時(shí)保持鎖處于打開狀態(tài)。如果用戶的觸發(fā)器邏輯只有當(dāng)某些特定列改變時(shí)才需要運(yùn)行,用戶就應(yīng)該檢測(cè)這種情況的出現(xiàn)。Update函數(shù)可以幫助用戶進(jìn)行檢測(cè)。Update函數(shù)只在插入和更新觸發(fā)器中可用,它確定用戶傳遞給它的列是否已經(jīng)被引起觸發(fā)器激活的insert或update語句所作用。例如在表S上定義更新觸發(fā)器,使其阻止SNO列被執(zhí)行,觸發(fā)器定義如下:CREATE TRIGGER Trig_S_Upd ON SFOR UPDATEASIF update(SNO) ROLLBACK TRANSACTIONRETURN5)觸發(fā)器檢查用戶可以使用觸發(fā)器檢查事務(wù)。例如,創(chuàng)建一個(gè)名為Trig_S的觸發(fā)器,如圖36所示。該觸發(fā)器的功能是:將刪除的學(xué)生數(shù)據(jù)轉(zhuǎn)移到學(xué)生存檔工程表SBACK中(假設(shè)已建立了與學(xué)生表S結(jié)構(gòu)相同的學(xué)生存檔表SBACK),我們可以如下定義觸發(fā)器:CREATE TRIGGER Trig_S ON SFOR DELETEASINSERT SBACK SELECT SNO,SNAME,AGE,SEX,DNAME FROM deleted又如,創(chuàng)建一個(gè)名為Trig_SC_UPDATE_SCORE的觸發(fā)器,使其具有如下功能:在修改成績(jī)表(SC)的成績(jī)SCORE時(shí),要求修改后的成績(jī)一定要比修改前的成績(jī)高。我們可以如下定義觸發(fā)器:CREATE TRIGGER Trig_SC_UPDATE_SCORE ON SC FOR UPDATEAS IF(SELECT COUNT(*) FROM deleted,inserted WHERE =)=0ROLLBACK TRANSACTION其創(chuàng)建代碼如圖37所示。圖36 觸發(fā)器Trig_S代碼圖37 觸發(fā)器Trig_SC_UPDATE_SCORE代碼28
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1