sql觸發器刪除
⑴ 如何用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