求教sql server触发器的写法,该怎么处理

求教sql server触发器的写法

我想实现一个触发器当有数据插入,删除,修改时能打印出插入的数据值(插入时某些字段可能为空),更新时显示更新了哪几个字段,旧的值是什么,新的值是什么
例如表

Create table TestTable
(
Id int primary key identity(1,1),
Name nvarchar(20),
School nvarchar(30),
Province nvarchar(30)
)


当执行update TestTable set School='yy' where Id =1 时显示“Id为1的行值School发生了改变,旧值为xx,新值为yy"
现在要求写出这个更新的触发器就好了
------解决思路----------------------
你试下
INSERT INTO TestTable
SELECT 'A','B','C'
GO
CREATE TRIGGER TRG_TestTable_UPD
ON TestTable
FOR UPDATE
AS
BEGIN
SELECT 'Id为'+CAST(T1.Id AS VARCHAR)+'的行值'
+CASE WHEN T1.Name<>T2.Name THEN ';Name发生了改变,旧值为'+T2.Name+',新值为'+T1.Name ELSE''END
+CASE WHEN T1.School<>T2.School THEN ';School发生了改变,旧值为'+T2.School+',新值为'+T1.School ELSE''END
+CASE WHEN T1.Province<>T2.Province THEN ';Province发生了改变,旧值为'+T2.Province+',新值为'+T1.Province ELSE''END
FROM INSERTED T1
JOIN DELETED T2 ON T1.Id=T2.Id
END
GO
UPDATE TestTable
SET Name='B'
WHERE Id=1