首页 » SQL Server » 触发器,存储过程,视图,事务的语法

触发器,存储过程,视图,事务的语法

原文 http://blog.csdn.net/zhangxin97/article/details/79025697

2018-01-11 02:01:35阅读(525)

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;





最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹