用sql腳本創(chuàng)建sqlserver數(shù)據(jù)庫(kù)觸發(fā)器范例語(yǔ)句
發(fā)布日期:2022-01-28 13:46 | 文章來(lái)源:源碼中國(guó)
復(fù)制代碼 代碼如下:
--會(huì)員表
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
--會(huì)員等級(jí)表
if object_id('userlevel','u') is not null
drop table userlevel
go --插入測(cè)試數(shù)據(jù)
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 --觸發(fā)器
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 --測(cè)試
update userinfo
set user_tegral=100
where userid=1 select * from userinfo
--另外一個(gè)觸發(fā)器
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
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
相關(guān)文章