/ * CREATE TABLETABLE (Userid Uniqueidentifier NOT NULL ROWGUIDCOL, - Unique Identification Name NVARCHAR (60) Null, - Name
Age Int Null Default 0 Check (age> 20), - Age Address NVARCHAR (25) NULL - Address) * / GO
Create Table LogTable11 (Name Nvarchar (60) Null, Age Int) Gocreate Table LogTable2 (Name NVARCHAR (60) NULL, AGE INT)
GoInsert LogTable1 Values ('T11', 30)
INSERT logTable1 Values ('T12', 40)
INSERT logTable1 Values ('T13', 50)
INSERT logTable2 Values ('T21', 130)
INSERT logTable2 Values ('T22', 140)
Insert LogTable2 Values ('T23', 150) Insert LogTable2 Values ('T24', 160)
SELECT * INTO logall from logtable1 union selection * from logtable2
Go - Create ViewCreate View Logview As SELECT * FROM LOGTABLE1 Union Select * from logtable2
--Create Trigger of Delete In View_Delete on logview instead of deleteasbegin delete logall Where name in (select name from deleted) end Go
--Create Trigger of Insert in View_Insert ON Logview Instead of InsertsBegin Insert Logall Select * from InsertEDEND GO
--create trigger of update in viewcreate trigger logView_update on logView instead of (20) declare @oldname varchar updateasbegin set nocount off if not exists (select * from inserted) return declare @name varchar (20) declare @age int
SELECT @name = name, @ agn = age from inserted select @ oldname = name from deleta
update logtable1 set name = @ name, age = @ age where name = @ oldname update logtable2 set name = @ name, age = @ age where name = @ oldname / * if @namer is null and @age is null begin raiserror (1074008065 , 16, 127) with NOWAIT, SETERRR RETURN Endif (Update (Name)) - Begin Exec P_GetName End * /
end
--Testdelete logview where name = 't11'
Insert Logview Values ('V1', 100)
Update logview set name = 'T1212', AGE = 10000 Where name = 't12'