用sql劇本創立sqlserver數據庫觸發器典范語句。本站提示廣大學習愛好者:(用sql劇本創立sqlserver數據庫觸發器典范語句)文章只能為提供參考,不一定能成為您想要的結果。以下是用sql劇本創立sqlserver數據庫觸發器典范語句正文
--會員表
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,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