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;