Sql Server触发器的使用

本文介绍了如何使用SQL创建视图及触发器的方法,包括基本语法、变量声明、数据插入等关键步骤,并强调了触发器在数据库开发中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建视图的sql语句

1)create view 视图名
as
向视图中添加查询信息(用内外连接)

例:create view 视图名(也就是数据库名称) as
select id,name,country from 表1名称
inner join 表2名称
on 表1名称.cid = 表2名称.cid


2.给表创建添加触发器(trigger)

create trigger 触发器名
on 表名
for insert
as
select * from 表名


3.给视图添加触发器

1)create trigger 触发器名
on 视图名(也就是数据库名称)
instead of insert
as

例:create trigger insert_视图名(也就是数据库名称)
on 视图名(也就是数据库名称)
instead of insert
as

2)//声明变量接收临时的数据
declare @变量1 int
declare @变量2 varchar(50)
declare @变量3 varchar(50)
declare @变量4 int

例:declare @id int
declare @name varchar(50)
declare @country varchar(50)
declare @cid int

3)select @变量1=字段1,@变量2=字段2,@变量3=字段3... from inserted
select 新标识列=标识列 from 表2名称 where 字段3=变量3

例:select @id=id,@name=name, @country=country from inserted
select @cid=cid from 表2名称 where country = @country

4)insert into 表名 values(@变量2,@变量4)
insert into 视图名(也就是数据库名称) values()

例:insert into 表1名称 values(@name,@cid)

完整:
触发器
create trigger触发器名
on 表名或视图名
instead of insert 当执行insert 时 会发生以下事件
as
declare @id int 局部变量1
declare @name varchar(50) 局部变量2
declare @country varchar(50) 局部变量3
declare @cid int 局部变量4
select @局部变量1=id,@2=name, @3=country from inserted
select @局部变量4=cid from Country where country = @局部变量3

insert into 表名 values(@局部变量1,@ 局部变量4)
备注:
插入数据时,要进行一次判断,如无数据则先添加
执行添加:
insert into UserInfo_Country values(4,'hg','中普')

instead insert 当执行insert语句时数据线插入到instead表中再插

入到目录表中
deleted delete 当执行insert语句时数据线插入到instead表中再插

入到目录表中


心得:
触发器实现了向图中进行增、删、改操作
减少代码,有利于数据库的开发、设计、操作,有利于数据的查询和添加,让人

一目了然!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值