4个回答
展开全部
CREATE TRIGGER [触发器名字] ON 表名
FOR INSERT(插入)|DELETE(删除)|UPDATE(更新)
AS
declare @username varchar(50)//自定义@母表字段
select @username=UserName from inserted
insert 需要更新的表字段(类型) values( @username)
就这样,不懂在问我吧
下面例子:
CREATE TRIGGER [tgUser] ON dbo.Users
FOR DELETE
AS
declare @username varchar(50)
select @username=UserName from inserted
insert Score (ID) values( @username)
当我向users表删除username的时候同时在score表删除这个ID
FOR INSERT(插入)|DELETE(删除)|UPDATE(更新)
AS
declare @username varchar(50)//自定义@母表字段
select @username=UserName from inserted
insert 需要更新的表字段(类型) values( @username)
就这样,不懂在问我吧
下面例子:
CREATE TRIGGER [tgUser] ON dbo.Users
FOR DELETE
AS
declare @username varchar(50)
select @username=UserName from inserted
insert Score (ID) values( @username)
当我向users表删除username的时候同时在score表删除这个ID
展开全部
--用INSERT语句创建触发器,当在“MR_Stu_XX”表中添加数据时,“MR_Stu_CJ”表也添加相应的数据。SQL语句如下:
USE MR_SQL--(表所在的数据库名称)
GO
CREATE TRIGGER TRI_StuXX_Insert ON dbo.MR_Stu_XX
FOR INSERT
AS
DECLARE @id Char(4),@name Char(10)
Select @id=学生编号,@name=学生姓名 from inserted
INSERT INTO MR_Stu_CJ (学生编号,学生姓名,语文,数学,英语) VALUES (@id,@name,0.0,0.0,0.0)
GO
--在表中添加数据时,将添加的数据存放在系统临时表“inserted”中。
--用DELETE语句创建触发器,当在“MR_Stu_XX”表中删除数据时,“MR_Stu_CJ”表也删除相应的数据。SQL语句如下:
USE MR_SQL
GO
CREATE TRIGGER TRI_StuXX_Delete ON [dbo].[MR_Stu_XX]
FOR DELETE
AS
DECLARE @id char(4),@name char(10)
select @id=学生编号,@name=学生姓名 from deleted
Delete MR_Stu_CJ where 学生编号=@id and 学生姓名=@name
GO
--在表中删除数据时,将删除的数据存放在系统临时表deleted中。
--用UPDATE语句创建触发器,当在“MR_Stu_XX”表中更新数据时,“MR_Stu_CJ”表也更新相应的数据。SQL语句如下:
USE MR_SQL
GO
CREATE TRIGGER TRI_StuXX_Uudate ON [dbo].[MR_Stu_XX]
FOR UPDATE
AS
DECLARE @id char(4),@name char(10)
select @id=学生编号 from deleted
select @name=学生姓名 from Inserted
UPDATE MR_Stu_CJ SET 学生姓名=@name WHERE 学生编号 = @id
GO
--在表中更新数据时,将更新前的数据存放在系统临时表“deleted”中,将更新后的数据存放在系统临时表“inserted”中。
USE MR_SQL--(表所在的数据库名称)
GO
CREATE TRIGGER TRI_StuXX_Insert ON dbo.MR_Stu_XX
FOR INSERT
AS
DECLARE @id Char(4),@name Char(10)
Select @id=学生编号,@name=学生姓名 from inserted
INSERT INTO MR_Stu_CJ (学生编号,学生姓名,语文,数学,英语) VALUES (@id,@name,0.0,0.0,0.0)
GO
--在表中添加数据时,将添加的数据存放在系统临时表“inserted”中。
--用DELETE语句创建触发器,当在“MR_Stu_XX”表中删除数据时,“MR_Stu_CJ”表也删除相应的数据。SQL语句如下:
USE MR_SQL
GO
CREATE TRIGGER TRI_StuXX_Delete ON [dbo].[MR_Stu_XX]
FOR DELETE
AS
DECLARE @id char(4),@name char(10)
select @id=学生编号,@name=学生姓名 from deleted
Delete MR_Stu_CJ where 学生编号=@id and 学生姓名=@name
GO
--在表中删除数据时,将删除的数据存放在系统临时表deleted中。
--用UPDATE语句创建触发器,当在“MR_Stu_XX”表中更新数据时,“MR_Stu_CJ”表也更新相应的数据。SQL语句如下:
USE MR_SQL
GO
CREATE TRIGGER TRI_StuXX_Uudate ON [dbo].[MR_Stu_XX]
FOR UPDATE
AS
DECLARE @id char(4),@name char(10)
select @id=学生编号 from deleted
select @name=学生姓名 from Inserted
UPDATE MR_Stu_CJ SET 学生姓名=@name WHERE 学生编号 = @id
GO
--在表中更新数据时,将更新前的数据存放在系统临时表“deleted”中,将更新后的数据存放在系统临时表“inserted”中。
参考资料: 明日系列编程词典--SQL Server 编程词典体验版
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A表中有列,NO1,NO2,NO3,
B表中有列,NO1,a,b,c,
if Exists(select name from sysobjects where type='tr' and name='Tr1')
drop trigger Tr1
go
create trigger Tr1 on B for insert
as begin
Declare @NO1 int,@b char
select @NO1=NO1 from inserted
select @b=b from inserted
if (@b='建立'or @b='恢复')
update A set NO2='在职' where NO1=@NO1
if (@b='中断'or @b='转移')
update A set NO2='停保' where NO1=@NO1
if (@b='退休')
update A set NO2='退休' where NO1=@NO1
end
主要实现的功能:
在增加B表的行是时,如果B中的b列为“建立”或“恢复”时,
更新A表中的NO2列为“在职”,
在增加B表的行是时,如果B中的b列为“中断”或‘转移’时,
更新A表中的NO2列为“停保”,
在增加B表的行是时,如果B中的b列为“退休”时,
更新A表中的NO2列为“退休”
你要想在改编数据的时候系统有提示,只需把表中多添加一列用来记录操作信息,当改变的时候,这里的值也改变,用户度去过之后再恢复
B表中有列,NO1,a,b,c,
if Exists(select name from sysobjects where type='tr' and name='Tr1')
drop trigger Tr1
go
create trigger Tr1 on B for insert
as begin
Declare @NO1 int,@b char
select @NO1=NO1 from inserted
select @b=b from inserted
if (@b='建立'or @b='恢复')
update A set NO2='在职' where NO1=@NO1
if (@b='中断'or @b='转移')
update A set NO2='停保' where NO1=@NO1
if (@b='退休')
update A set NO2='退休' where NO1=@NO1
end
主要实现的功能:
在增加B表的行是时,如果B中的b列为“建立”或“恢复”时,
更新A表中的NO2列为“在职”,
在增加B表的行是时,如果B中的b列为“中断”或‘转移’时,
更新A表中的NO2列为“停保”,
在增加B表的行是时,如果B中的b列为“退休”时,
更新A表中的NO2列为“退休”
你要想在改编数据的时候系统有提示,只需把表中多添加一列用来记录操作信息,当改变的时候,这里的值也改变,用户度去过之后再恢复
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
create trigger 触发器名
on 表名
for insert|delete
as
print '插入或删除了该条记录'
on 表名
for insert|delete
as
print '插入或删除了该条记录'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询