當前位置:首頁 » 編程語言 » 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

熱點內容
甘肅電信的dns伺服器地址是什麼 發布:2025-01-02 00:03:01 瀏覽:966
壓縮磁碟碎片 發布:2025-01-01 23:54:56 瀏覽:961
mc伺服器怎麼修改背包物品 發布:2025-01-01 23:48:10 瀏覽:260
php二級域名session 發布:2025-01-01 23:32:23 瀏覽:455
無意義演算法 發布:2025-01-01 23:32:18 瀏覽:677
安卓本哪個最便宜 發布:2025-01-01 23:31:36 瀏覽:884
vsc語言編譯器安裝 發布:2025-01-01 23:25:54 瀏覽:932
為什麼安卓手機里的廣告這么多 發布:2025-01-01 23:24:53 瀏覽:614
南師大ftp 發布:2025-01-01 23:11:43 瀏覽:327
c和c編譯器安裝教學 發布:2025-01-01 23:10:08 瀏覽:81