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

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;





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值