Inserted
存放进行insert和update 操作后的数据
Deleted
存放进行delete 和update操作前的数据
--创建触发器Create trigger User_OnUpdateOn ST_Userfor Update Asdeclare @msg nvarchar(50) --@msg记录修改情况 select @msg = N '姓名从“' + Deleted. Name + N '”修改为“' + Inserted. Name + '”' from Inserted,Deleted --插入日志表 insert into [LOG](MSG) values (@msg) --删除触发器drop trigger User_OnUpdate
七、存储过程
--创建带output参数的存储过程CREATE PROCEDURE PR_Sum @a int , @b int , @ sum int outputASBEGIN set @ sum =@a+@bEND --创建Return返回值存储过程CREATE PROCEDURE PR_Sum2 @a int , @b intASBEGIN Return @a+@bEND --执行存储过程获取output型返回值declare @mysum intexecute PR_Sum 1,2,@mysum outputprint @mysum --执行存储过程获取Return型返回值declare @mysum2 intexecute @mysum2= PR_Sum2 1,2print @mysum2
八、自定义函数
函数的分类:
1)标量值函数
2)表值函数
a:内联表值函数
b:多语句表值函数
3)系统函数
--新建标量值函数create function FUNC_Sum1( @a int , @b int)returns intasbegin return @a+@bend --新建内联表值函数create function FUNC_UserTab_1( @myId int)returns tableasreturn ( select * from ST_User where ID@myId) --新建多语句表值函数create function FUNC_UserTab_2( @myId int)returns @t table( [ID] [ int ] NOT NULL , [Oid] [ int ] NOT NULL , [Login] [nvarchar](50) NOT NULL , [Rtx] [nvarchar](4) NOT NULL , [ Name ] [nvarchar](5) NOT NULL , [ Password ] [nvarchar]( max ) NULL , [State] [nvarchar](8) NOT NULL)asbegin insert into @t select * from ST_User where ID@myId returnend --调用表值函数select * from dbo.FUNC_UserTab_1(15)--调用标量值函数declare @s intset @s=dbo.FUNC_Sum1(100,50)print @s --删除标量值函数drop function FUNC_Sum1