当前位置:首页 » 编程语言 » sql触发器删除

sql触发器删除

发布时间: 2022-09-25 12:28:59

⑴ 如何用sql语句删除 SQL Server 中的触发器

-- 查看数据库已有触发器
use yourdatabase
go
select * from sysobjects where xtype='TR'
-- 查看单个触发器
exec sp_helptext '触发器名'

--删除触发器:
基本语句如下:
drop trigger trigger_name

⑵ sql触发器删除记录,cycleTime表,当表数据超过500条时,使用触发器把表中的最久的数据删除

触发器中的 deleted表中就是保存删除的行。取出插入另一个表即可。
例:
CREATE TRIGGER tri_del
ON 表名 FOR DELETE
AS
declare @id int
declare @name varchar(20)
select @id = id, @name = name from deleted --取删除的数据
insert into 表名2 values(@id = id,@name) --插入另一个表

⑶ SQL如何创建删除的触发器

CREATE TRIGGER A表_DEL
ON A表FOR DELETE
AS
--SET NOCOUNT ON
DELETE E
FROM A表 E
INNER JOIN deleted D ON E.主键ID = D.主键ID

⑷ SQL 触发器 删除与更新

--修改就是alter,但是你这触发器写的不对

ALTER TRIGGER BBakTrigger ON dbo.BBak
FOR UPDATE, DELETE
AS
begin
if exists (select * from deleted) and not exists (select * from inserted)
begin
insert into BBak select * from deleted
end
else if exists (select * from deleted) and exists (select * from inserted)
begin
insert into BBak select * from deleted
end
end

⑸ SQL触发器同步删除数据要怎么写

使用delete 触发器格式:
CREATE trigger tri_update
on tablename
for delete
as
begin
--sql code
end

例:
CREATE trigger tri_update
on tablename1 --触发的表名
for delete
as
begin
declare @del_id varchar(40)
select @del_id = id from deleted --tablename1 中删除的数据保存在 deleted 中
delete tablename2 where id = @del_id --同步删除tablename2中数据
end

⑹ sql触发器,怎样把一个表中删除的记录请入另一个表中

如下:
CREATE
TRIGGER
del_kh
ON
dbo.卡信息表
AFTER
DELETE
AS
insert
into
作废卡信息表(kh,xm,xb,kmc,sjhm,sysycs,fxrq,dqrq)
select
kh,xm,xb,kmc,sjhm,sysycs,fxrq,dqrq
from
deleted
====
触发器激活时,会把删除的记录放在deleted临时表里~
这个表只能读取,结构是直接负责进行删除操作的表的~
所以直接把这个数据导出到您需要的表里就可以了!

⑺ sql触发器,怎样把一个表中删除的记录请入另一个表中

触发器中的 deleted表中就是保存删除的行。取出插入另一个表即可。

例:

CREATETRIGGERtri_del
ON表名FORDELETE
AS
declare@idint
declare@namevarchar(20)
select@id=id,@name=namefromdeleted--取删除的数据
insertinto表名2values(@id=id,@name)--插入另一个表

⑻ SQL求助 插入删除修改的触发器代码编写

---创建测试表:
Create Table MyTest(
id int identity(1,1) not null primary key,
[name] varchar(100) null
)
--创建触发器:
CREATE TRIGGER trigtest--创建触发器trigtest
ON mytest--在表mytest上建
for INSERT,DELETE,UPDATE--为插入,删除,修改
AS
BEGIN
declare @a int,
@b int,
@id int,
@name varchar(100),
@oldId int,--原ID号
@oldName varchar(100)--原来的name
set @a=0
set @b=0
if exists(select * from inserted)--如果存在插入新的数据则设置@a=1
begin
set @a=1
end
if exists(select * from deleted)--如果存在删除数据则设置@b=1
begin
set @b=1
end
if (@a=1)and(@b=0)--新增:当插入表inserted存在数据而删除表deleted不存数据时,为新增操作。
begin
select @id=id,@name=name from inserted
print '增加了ID号为【'+cast(@id as varchar(5))+'】Name为【'+@name+'】的数据!'
end
if (@a=1)and(@b=1)--修改:当插入表insertedt和删除表deleted都存在数据时,为修改操作。
begin
select @id=id,@name=name from inserted
select @id=id,@oldname=name from deleted
print '修改了ID号为【'+cast(@id as varchar(5))+'】的数据Name由【'+@oldname+'】变为【'+@name+'】'
end
if (@a=0)and(@b=1)--删除:当插入表inserted不存在数据而删除表deleted存在数据时,为删除操作。
begin
select @id=id,@name=name from deleted
print '删除了ID号为【'+cast(@id as varchar(5))+'】Name为【'+@name+'】的数据!'
end
END

⑼ SQL触发器同步删除数据要怎么写

使用delete
触发器格式:
CREATE
trigger
tri_update
on
tablename
for
delete
as
begin
--sql
code
end
例:
CREATE
trigger
tri_update
on
tablename1
--触发的表名
for
delete
as
begin
declare
@del_id
varchar(40)
select
@del_id
=
id
from
deleted
--tablename1
中删除的数据保存在
deleted

delete
tablename2
where
id
=
@del_id
--同步删除tablename2中数据
end

热点内容
ts430s512gb缓存 发布:2025-01-02 01:43:38 浏览:481
编译原理杂志 发布:2025-01-02 01:37:47 浏览:336
玩cf配置低怎么办 发布:2025-01-02 01:36:23 浏览:888
lol的文件夹 发布:2025-01-02 01:33:12 浏览:421
解压引导 发布:2025-01-02 01:23:25 浏览:654
微信小程序游戏如何设置密码 发布:2025-01-02 01:01:27 浏览:76
php跨域请求 发布:2025-01-02 01:01:24 浏览:785
5复式算法 发布:2025-01-02 01:00:00 浏览:545
androidtts 发布:2025-01-02 00:59:59 浏览:75
监控访问网址 发布:2025-01-02 00:57:15 浏览:333