加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

用sql脚本创建sqlserver数据库触发器范例语句

发布时间:2020-12-12 07:57:42 所属栏目:MsSql教程 来源:网络整理
导读:感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! 代码如下: --会员表 if object_id(userinfo,u) is not null drop table userinfo go create table userinfo(userid int primary key,user_tegral int,level int) insert into userinfo

感兴趣的小伙伴,下面一起跟随编程之家 52php.cn的小编两巴掌来看看吧!

代码如下:

 
--会员表 
if object_id('userinfo','u') is not null 
drop table userinfo 
go 
create table userinfo(userid int primary key,user_tegral int,level int) 
insert into userinfo select 1,0 
go 
--会员等级表 
if object_id('userlevel','u') is not null 
drop table userlevel 
go 

--插入测试数据 
create table userlevel(level int primary key,mlevel_point decimal(10,2)) 
insert into userlevel select 0,0 
insert into userlevel select 1,100 
insert into userlevel select 2,200 
insert into userlevel select 3,300 
go 



--触发器 
create trigger TR_userInfor 
on userinfo for update 
as 
begin 

update a 
set a.level=b.level 
from userinfo a,userlevel b 
where a.userid in(Select userid from inserted) and a.user_tegral>=b.mlevel_point and 
a.user_tegral<(Select min(mlevel_point) 
from userlevel where mlevel_point>b.mlevel_point) 
end 

--测试 
update userinfo 
set user_tegral=100 
where userid=1 

select * from userinfo 


--另外一个触发器 
set ANSI_NULLS ON 
set QUOTED_IDENTIFIER ON 
go 
ALTER TRIGGER [AlterName] 
ON [dbo].[FS_User] 
FOR INSERT 
AS 
BEGIN 
SET NOCOUNT ON; 
UPDATE dbo.FS_User SET uname=(SELECT uname FROM Inserted)+'@ml' 
WHERE id IN (SELECT id FROM inserted) 
END 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读