如何禁止删除某个记录?

来源:互联网 发布:怎么求根号的值 java 编辑:程序博客网 时间:2024/04/29 07:38

如何禁止删除某个记录?
表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=扩展存储过程

原创粉丝点击