免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
sql 觸發(fā)器
1、觸發(fā)器。

  定義: 何為觸發(fā)器?在SQL Server里面也就是對(duì)某一個(gè)表的一定的操作,觸發(fā)某種條件,從而執(zhí)行的一段程序。觸發(fā)器是一個(gè)特殊的存儲(chǔ)過程。
  常見的觸發(fā)器有三種:分別應(yīng)用于Insert , Update , Delete 事件。(SQL Server 2000定義了新的觸發(fā)器,這里不提)

  我為什么要使用觸發(fā)器?
    比如,這么兩個(gè)表:
  Create Table Student(         --創(chuàng)建學(xué)生表
    StudentID int primary key,     --學(xué)號(hào),定義主鍵約束
    ....
    )

  Create Table BorrowRecord(         --創(chuàng)建借書記錄表
    BorrowRecord int identity(1,1),     --自動(dòng)增長流水號(hào) 
    StudentID   int ,             --學(xué)號(hào)
    BorrowDate   datetime,           --借出時(shí)間
    ReturnDAte   Datetime,           --歸還時(shí)間
    ...
  )

  用到的功能有:
    1.如果我更改了學(xué)生的學(xué)號(hào),我希望他的借書記錄仍然與這個(gè)學(xué)生相關(guān)(也就是同時(shí)更改借書記錄表的學(xué)號(hào));
    2.如果該學(xué)生已經(jīng)畢業(yè),我希望刪除他的學(xué)號(hào)的同時(shí),也刪除它的借書記錄。
  等等。

  這時(shí)候可以用到觸發(fā)器。對(duì)于1,創(chuàng)建一個(gè)Update觸發(fā)器:

  Create Trigger truStudent
    On Student
    for Update   --觸發(fā)器類型--Update
  -------------------------------------------------------
  --Name:truStudent
  --func:更新BorrowRecord 的StudentID,與Student同步。
  --Use :None
  --User:System
  --Author: wp_love
  --Date : 2003-4-16
  --Memo : 臨時(shí)寫寫的,給大家作個(gè)Sample。沒有調(diào)試阿。
  -------------------------------------------------------
  As
    if Update(StudentID)
    begin

    Update BorrowRecord 
      Set br.StudentID=i.StudentID
      From BorrowRecord br , Deleted d ,Inserted i 
      Where br.StudentID=d.StudentID

    end     
          
  理解觸發(fā)器里面的兩個(gè)臨時(shí)的表:Deleted , Inserted 。注意Deleted 與Inserted分別表示觸發(fā)事件的表“舊的一條記錄”和“新的一條記錄”。
  一個(gè)Update 的過程可以看作為:生成新的記錄到Inserted表,復(fù)制舊的記錄到Deleted表,然后刪除Student記錄并寫入新紀(jì)錄。

  對(duì)于2,創(chuàng)建一個(gè)Delete觸發(fā)器
  Create trigger trdStudent
      On Student
      for Delete
  -------------------------------------------------------
  --Name:trdStudent
  --func:同時(shí)刪除 BorrowRecord 的數(shù)據(jù)
  --Use :None
  --User:System
  --Author: 
  --Date : 2003-4-16
  --Memo : 臨時(shí)寫寫的,給大家作個(gè)Sample。沒有調(diào)試阿。
  -------------------------------------------------------
  As
    Delete BorrowRecord 
    From BorrowRecord br , Delted d
    Where br.StudentID=d.StudentID

  從這兩個(gè)例子我們可以看到了觸發(fā)器的關(guān)鍵:A.2個(gè)臨時(shí)的表;B.觸發(fā)機(jī)制。
  這里我們只講解最簡單的觸發(fā)器。復(fù)雜的容后說明。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
觸發(fā)器--特殊的存儲(chǔ)過程
在Sql Server觸發(fā)器中判斷操作是Insert還是Update還是Delete
sqlserver2008R2第四章
sql server 實(shí)現(xiàn)對(duì)表的審計(jì)功能(轉(zhuǎn)帖) — Windows Live
觸發(fā)器(trigger)
SQL SERVER2005觸發(fā)器
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服