1、触发器(trigger)
Create trigger User_OnUpdate On user_Users for Update As declare @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
2、存储过程( procedure 可简写为 proc )
--创建带output参数的存储过程 CREATE PROCEDURE PR_Sum @a int, @b int, @sum int output AS BEGIN set @sum=@a+@b END --创建Return返回值存储过程 CREATE PROCEDURE PR_Sum2 @a int, @b int AS BEGIN Return @a+@b END --执行存储过程获取output型返回值 declare @mysum int execute PR_Sum 1,2,@mysum output print @mysum --执行存储过程获取Return型返回值 declare @mysum2 int execute @mysum2= PR_Sum2 1,2 print @mysum2
3、视图(view)
--创建普通视图create view View_Classasselect dbo.t_table1.id,dbo.t_table1.name,dbo.t_table2.id,dbo.t_table2.namefrom dbo.t_table1,dbo.t_table2where dbo.t_table1.id = dbo.t_table2.idgo
创建加密视图 create view View_Class with encryption as select dbo.t_table1.id,dbo.t_table1.name,dbo.t_table2.id,dbo.t_table2.name from dbo.t_table1,dbo.t_table2 where dbo.t_table1.id = dbo.t_table2.id go 修改视图 alter view View_Class as select dbo.t_table1.id,dbo.t_table1.address,dbo.t_table2.id,dbo.t_table2.name from dbo.t_table1,dbo.t_table2 where dbo.t_table1.id = dbo.t_table2.id go 修改视图 if object_id('View_Class','view') is not null drop view View_Class go
4、事务 以BEGIN TRAN开始,提交的话则COMMIT提交事务,否则以ROLLBACK回滚事务
--定义事务 BEGIN TRAN; INSERT INTO dbo.T1(keycol, col1, col2) VALUES(4,101,'C'); INSERT INTO dbo.T1(keycol, col1, col2) VALUES(4,201,'X'); COMMIT TRAN;