您的位置:首页 > 其它

如何禁止删除某个记录?

2008-03-20 15:17 183 查看
如何禁止删除某个记录?
表IS_Admin(关键字AdminID)
禁止删除AdminID='xt'的记录

create Trigger tr_delete_tab
on IS_Admin
for delete
as
set nocount on
if exists(select 1 from deleted where AdminID='xt')
begin
RAISERROR ('不能删除AdminID=xt的记录', 16, 1)
ROLLBACK TRANSACTION
end
go

获取数据库中的触发器

在SQL SERVER的每个数据库中含有一个名为sysobjects的系统表,这个系统表中存储了当前数据库中所有对象(包括表对象、用户表、约束、默认值、日志和存储过程)的信息,可利用这个系统表来解决此问题。

select * from sysobjects where xtype='TR'

获取数据库中的存储过程

select * from sysobjects where xtype='p'

其他:

C=CHECH约束

D=默认值或DEFAULT约束

F=FOREIGN KEY约束

L=日志

FN=标量函数

IF=内嵌表函数

P=存储过程

PK=PRIMARY KEY约束(类型是K)

RF=复制筛选存储过程

S=系统表

TF=表函数

TR=触发器

U=用户表

UQ=UNIQUE约束(类型是K)

V=视图

X=扩展存储过程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: