講解Microsoft SQL Server的行式觸發器

曾經以爲SQL SERVER的觸發器只能觸發單行,也就是說如果一個delete觸發器,如果同時刪除多行時,只會對第一條記錄觸發,後來發現了不是人家SQL SERVER不支持,而是偶腦子笨沒發現。

其實inserted和deleted兩張內部表存放了所有要插入或要刪除的記錄,可以用cursor逐次訪問裏面的每條記錄,下面是一個示例,該觸發器將要刪除的記錄轉移到另一張表中:

第一步,創建這兩張表

create table table1([id] int primary key, [value] varchar(100))create table table2([id] int primary key, [value] varchar(100))

第二步,插入測試數據

declare @i intset @i = 1while @i <= 100begin insert into table1([id], [value]) values(@i, cast(@i as varchar)) set @i = @i + 1end

創建table1的delete觸發器

create trigger tr_d_table1 on table1 for deleteasbegin declare @id int, @value varchar(100) declare cur_del cursor local forward_only for select [id], [value] from deleted open cur_del fetch next from cur_del into @id, @value while @@fetch_status = 0 begin insert into table2([id], [value]) values(@id, @value) fetch next from cur_del into @id, @value end close cur_del deallocate cur_del end

現在對table1執行delete語句,發現所有被刪除的記錄都記錄在在table2中了

delete from table1

 
解析Microsoft Sql Server中的like語句
LIKE,確定給定的字符串是否與指定的模式匹配。模式可以包含常規字符和通配符字符。模式匹配過程中,常規字符必須與字符串中指定的字符完全匹配。然而,可使用字符串的任意片段匹配通配符。與使用 = 和 != 字符串比較...查看完整版>>解析Microsoft Sql Server中的like語句
 
Microsoft SQL Server 2008 Express版本
具有高級服務的 Microsoft SQL Server 2008 Express (SQL Server 2008 Express) 是一種免費、易用的 SQL Server Express 版本,它包括圖形管理工具,並提供了用于報表和基于文本的高級搜索的強大功能。SQL Server 2008...查看完整版>>Microsoft SQL Server 2008 Express版本
 
Microsoft SQL Server 2005數據庫鏡像語句
Microsoft SQL Server 2005數據庫鏡像語句: SERVER 1 CREATE ENDPOINT DbMirroring STATE=STARTED AS TCP(LISTENER_PORT=5023) FOR DATABASE_MIRRORING(ROLE=PARTNER,ENCRYPTION=SUPPORTED) ALTER DATABASE Adventur...查看完整版>>Microsoft SQL Server 2005數據庫鏡像語句
 
Microsoft SQL Server 2008數據庫的新標志
Microsoft SQL Server 2008數據庫的新標志
微軟在TechED 2008正式推出了Microsoft SQL Server 2008的新標志 Logo。以下是一些關于此標志的相關信息: ◆Strengthen our connection with customers and partners ◆Visually support key attributes such as “...查看完整版>>Microsoft SQL Server 2008數據庫的新標志
 
Microsoft SQL Server 2005同步複制技術
Microsoft SQL Server 2005同步複制技術
本文實現的複制步驟以快照複制爲例,運行平台爲SQL Server 2005。 一、准備工作: 1.首先,建立一個WINDOWS用戶,設置爲管理員權限,並設置密碼,作爲發布快照文件的有效訪問用戶。 2.在SQL Server數據庫下實現發布...查看完整版>>Microsoft SQL Server 2005同步複制技術