程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> 用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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved