sql触发器禁止删除数据(如何写一个SQL触发器,禁止删除一张表)

:暂无数据 2026-06-30 03:10:08 2

sql触发器禁止删除数据(如何写一个SQL触发器,禁止删除一张表)

其实sql触发器禁止删除数据的问题并不复杂,但是又很多的朋友都不太了解如何写一个SQL触发器,禁止删除一张表,因此呢,今天小编就来为大家分享sql触发器禁止删除数据的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

如何写一个SQL触发器,禁止删除一张表

Create Trigger truStudent
On Student --在Student表中创建触发器
for Update --要触发的事件
As --事件触发后所要做的事情
if Update(StudentID)
begin
................
end
应该说在删除记录的时候,你的主键肯定也是会被删除的。Delete(pk) 应该也能捕获到,当然这只是一种尝试,
Create trigger Simple
on Employee
instead of delete
as
select * from Employee where 2!=2;
instead of delete 就是当删除 Employee表中数据时,将我们删除Employee表中数据的sql替换为as后的sql语句.我这里写了个不可能成立的条件,也就是说。当删除Employee中数据时会替换执行这条不成立的sql,结果就是表中的数据没有被删除。(Sql Server测试通过)

MSSQL 触发器 不能删除数据

由于 MySQL 没有直接抛出异常的语句 因此这里通过在触发器里面,插入/删除自己这个表 导致 MySQL 发生异常 发生异常了, 就会自动回滚掉 删除数据的处理了. 一个例子 货物表 CREATE TABLE Goods( id INT, Amount INT ); 订单表 CREATE TABLE Orde...

SQL触发器禁止删除或修改数据库A中的任何表

a触发器中已经开启 而b触发器也开启了 此时a触发器还没有关闭IDENTITY_INSERT 另外一个又打

SqlServer2005 怎样建触发器 防止数据表被删除

我这里有一个  创建表的触发器,  你参考着修改修改成  删除表的吧

1》 CREATE TRIGGER CretaeTableTrigger
2》 ON DATABASE
3》 FOR CREATE_TABLE
4》 AS
5》 BEGIN
6》   DECLARE @EventData  AS xml;
7》
8》   DECLARE @EventType     AS varchar(100);
9》   DECLARE @PostTime      AS varchar(100);
10》   DECLARE @ServerName    AS varchar(100);
11》   DECLARE @LoginName     AS varchar(100);
12》   DECLARE @DatabaseName  AS varchar(100);
13》   DECLARE @CommandText   AS varchar(100);
14》
15》   SET @EventData = EVENTDATA();
16》
17》   SELECT
18》     @EventType    = t.c.value(’(EventType)’,      ’varchar(100)’ ),
19》     @PostTime     = t.c.value(’(PostTime)’,       ’varchar(100)’ ),
20》     @ServerName   = t.c.value(’(ServerName)’,     ’varchar(100)’ ),
21》     @LoginName    = t.c.value(’(LoginName)’,      ’varchar(100)’ ),
22》     @DatabaseName = t.c.value(’(DatabaseName)’,   ’varchar(100)’ ),
23》     @CommandText  = t.c.value(’(TSQLCommand/CommandText)’,   ’varchar(100
)’ )
24》   FROM
25》     @EventData.nodes(’/EVENT_INSTANCE’) t(c);
26》
27》   PRINT( ’CREATE_TABLE’  );
28》   PRINT( @EventType  );
29》   PRINT( @PostTime  );
30》   PRINT( @ServerName  );
31》   PRINT( @LoginName  );
32》   PRINT( @DatabaseName  );
33》   PRINT( @CommandText  );
34》 END
35》 go
1》 create table yyy (a INT);
2》 go
CREATE_TABLE
CREATE_TABLE
2010-10-01T21:32:24.843
HOME-BED592453C\SQLEXPRESS
HOME-BED592453C\wzq
Stock
create table yyy (a INT);

SQL中如何保证某个特定的数据不能被删掉

insert into album values(1,’xxx’,’zzz’,’ccc’)
create trigger tbl_delete
on album
for delete
as
if ((select count(*) from deleted where album_name=’xxx’)》0)
begin
rollback transaction
print ’不能删除’
end
go
delete album where album_name=’xxx’
select * from album
结果显示:不能删除
大概的意思就是这样,希望对你思路有帮助

MSSQL怎样禁止删除某条记录

这个用触发器来解决
如下


--假如table_A(col1 char(10),col2 char(10));禁止删除col1=‘AAA’的记录
create table table_A(col1 char(10),col2 char(10))
insert into table_A values(’AAA’,’BBB’);
SELECT * FROM table_A
/*
col1 col2
---------- ----------
AAA BBB
(1 行受影响)*/
ALTER TRIGGER CANNOTDELETE
ON TABLE_A AFTER DELETE
AS
BEGIN
if ((select count(1) from Deleted where col1=’AAA’)》1)

PRINT ’Don Delete table_A where col1=AAA’
rollback;

END
delete table_A where col1=’AAA’
/*
消息 3609,级别 16,状态 1,第 1 行
事务在触发器中结束。批处理已中止。
*/
SELECT * FROM table_A
/*
col1 col2
---------- ----------
AAA BBB
(1 行受影响)*/

MS SQL server:写一个触发器,禁止有人删除 X表中的 Y列

1、如果你问的是如何禁止删除x表的y列 这个列 这个属于ddl操作,sql server2000是无法做到控制ddl操作的,也就是说 它不支持ddl触发器。所以只能通过程序来控制
2、如果你问的是如何禁止删除x表的y列的内容 而不是删除整个列 那可以使用触发器(不过这样意义不大)
create trigger tr_d on X
before delete
begin
print ’禁止删除y列的内容’;
rollback;
end

sql数据库如果班级中还有学生,不允许删除班级记录用触发器怎么实

在班级的表上建一个触发器。
触发器类型:行级触发器
触发条件:删除班级记录是触发
触发处理:当触发后,先用触发行中的班级ID到学生表中检查,看是否有该班级的学生存在。
如果存在在直接抛出异常。
具体代码,根据你所用的数据库所决定

如何写一个SQL触发器,禁止删除一张表的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于如何写一个SQL触发器,禁止删除一张表、如何写一个SQL触发器,禁止删除一张表的信息别忘了在本站进行查找哦。

sql触发器禁止删除数据(如何写一个SQL触发器,禁止删除一张表)

本文编辑:admin

更多文章:


全球著名软件公司?oracle究竟是什么软件

全球著名软件公司?oracle究竟是什么软件

各位老铁们,大家好,今天由我来为大家分享软件公司,以及全球著名软件公司的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年9月21日 18:50

html document对象(载入浏览器的html文档都会成为document的对象吗)

html document对象(载入浏览器的html文档都会成为document的对象吗)

其实html document对象的问题并不复杂,但是又很多的朋友都不太了解载入浏览器的html文档都会成为document的对象吗,因此呢,今天小编就来为大家分享html document对象的一些知识,希望可以帮助到大家,下面我们一起来

2026年9月21日 16:00

安装包怎样下载mysql(如何在官网上下载可安装版的MySQL数据库)

安装包怎样下载mysql(如何在官网上下载可安装版的MySQL数据库)

大家好,安装包怎样下载mysql相信很多的网友都不是很明白,包括如何在官网上下载可安装版的MySQL数据库也是一样,不过没有关系,接下来就来为大家分享关于安装包怎样下载mysql和如何在官网上下载可安装版的MySQL数据库的一些知识点,大家

2026年9月21日 15:30

威廉尖叫音效在线(渴求《勇敢的心》的配乐a gift of a thistle下载)

威廉尖叫音效在线(渴求《勇敢的心》的配乐a gift of a thistle下载)

各位老铁们,大家好,今天由我来为大家分享威廉尖叫音效在线,以及渴求《勇敢的心》的配乐a gift of a thistle下载的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈

2026年9月21日 15:20

wordpress建站教程视频(WordPress建站的基本流程)

wordpress建站教程视频(WordPress建站的基本流程)

这篇文章给大家聊聊关于wordpress建站教程视频,以及WordPress建站的基本流程对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年9月21日 14:00

fortune短语搭配(fortune什么意思)

fortune短语搭配(fortune什么意思)

“fortune短语搭配”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看fortune短语搭配(fortune什么意思)!

2026年9月21日 13:50

vue预览pdf文件流(vue-pdf使用)

vue预览pdf文件流(vue-pdf使用)

这篇文章给大家聊聊关于vue预览pdf文件流,以及vue-pdf使用对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年9月21日 13:20

powerquery(power query中文含义是什么)

powerquery(power query中文含义是什么)

其实powerquery的问题并不复杂,但是又很多的朋友都不太了解power query中文含义是什么,因此呢,今天小编就来为大家分享powerquery的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年9月21日 11:50

reactnative文档扫描(为什么要学习React Native)

reactnative文档扫描(为什么要学习React Native)

各位老铁们,大家好,今天由我来为大家分享reactnative文档扫描,以及为什么要学习React Native的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始

2026年9月21日 10:30

aptana studio 3 windows 10(aptana studio 3 怎么改成中文)

aptana studio 3 windows 10(aptana studio 3 怎么改成中文)

其实aptana studio 3 windows 10的问题并不复杂,但是又很多的朋友都不太了解aptana studio 3 怎么改成中文,因此呢,今天小编就来为大家分享aptana studio 3 windows 10的一些知识,希

2026年9月21日 09:20

最近更新

扬中个人网站建设流程有哪些步骤
2026-09-21 20:32:50 浏览:0
什么是手淘seo,新手如何快速上手
2026-09-21 20:32:44 浏览:0
网页中文模板怎么选才适合自己?
2026-09-21 20:32:39 浏览:0
热门文章

wait for you杨和苏(大家听下(wait for you)这首英文歌的开头那段音乐)
2026-06-13 16:20:04 浏览:22
刷关键字排名怎么操作最有效?
2026-09-14 20:02:13 浏览:13
oppo a9拆机教程(oppoa9拆机教程)
2026-06-13 10:40:02 浏览:12
标签列表