mssql 怎么配置指定的表 不允许删除数据?

简介: 原文:mssql 怎么配置指定的表 不允许删除数据?http://www.maomao365.com/?p=5089 前言: 前几天收到群友提问,如何禁止某一张表里面的数据被删除掉? 当我们看见这个问题的时,首先想到的是拦截器,sql数据操作拦截器,首先第一个想到的是sql instead of触发器, instead of触发器可以拦截insert update delete操作。
原文: mssql 怎么配置指定的表 不允许删除数据?

http://www.maomao365.com/?p=5089

<span style="color:red;font-weight:bold;">
前言: 前几天收到群友提问,如何禁止某一张表里面的数据被删除掉?
</span>
<hr />
当我们看见这个问题的时,首先想到的是拦截器,sql数据操作拦截器,首先第一个想到的是sql instead of触发器,
instead of触发器可以拦截insert update delete操作。
下文将举例说明,instead of触发器对表删除的拦截
 

/*建表*/
create table A(keyId int,info varchar(20))
go

insert into A(keyId,info)values(1,'a'),(2,'b'),(3,'c'),(4,'d')
go

/*创建 instead of 触发器*/
create trigger tr_A on A 
instead of delete 
as 
begin
select '禁止对表进行删除操作' ---将对表delete 全部锁定禁止操作
return;

/*
if system_user ='sa'
begin
select '禁止账户(sa)对表进行删除操作' 
return;

end
*/

end
go

delete from A 
go

select * from A 
go

truncate table A
drop table A 
go

 

insteadof触发器禁止表删除内容

目录
相关文章
|
7月前
msyql 删除一个库里的所有表
msyql 删除一个库里的所有表
39 1
|
8月前
|
关系型数据库 MySQL 索引
MySQL创建外键关联报错1005
MySQL创建外键关联报错1005
36 0
|
8月前
|
SQL 存储 关系型数据库
③【操作表数据】MySQL添加数据、修改数据、删除数据
③【操作表数据】MySQL添加数据、修改数据、删除数据
228 0
|
存储 Oracle 关系型数据库
MySQL数据库: 添加列、修改列、删除列、修改列属性、修改表名(包括MySQL、SQLServer、Oracle)
MySQL数据库: 添加列、修改列、删除列、修改列属性、修改表名(包括MySQL、SQLServer、Oracle)
445 0
MySQL数据库: 添加列、修改列、删除列、修改列属性、修改表名(包括MySQL、SQLServer、Oracle)
|
SQL 关系型数据库 MySQL
MYSQL 批量修改表前缀与删除数据表 sql 语句
MYSQL 批量修改表前缀与删除数据表 sql 语句
|
关系型数据库 MySQL 数据库
mysql导入表时出现的问题,1153
mysql导入表时出现的问题,1153
148 0
|
SQL Oracle 关系型数据库
Oracle 数据库SQL语句查询oracle数据库表主键,查看oracle指定表的表结构实例演示
Oracle 数据库SQL语句查询oracle数据库表主键,查看oracle指定表的表结构实例演示
249 0
Oracle 数据库SQL语句查询oracle数据库表主键,查看oracle指定表的表结构实例演示
|
SQL 关系型数据库 MySQL
[alter,table数据表,字段,修饰符,数据库]MySQL终端操作常用命令
  一、数据库命令   1、连接数据库   mysql -uroot -p密码   2、创建数据库   create database 库名;
199 0
|
关系型数据库 MySQL
清空表与删除表mysql
Mysql清空表(truncate)与删除表中数据(delete)的区别 为某基于wordpress搭建的博客长久未除草,某天升级的时候发现已经被插入了几万条垃圾留言,如果一条条删除那可真是累人的活。遂考虑直接进入mysql直接清空表或者删除表中数据。
2783 0