SQL约束(外键、主键、触发器)

原创 2011年01月22日 23:40:00

--第一步:找出test2表上的外键约束名字
--2000
exec sp_helpconstraint 'test2'
--可以在constraint_name 属性中找到外键约束名字
---------------------------------
FK__test2__id__08EA5793*/

--第二步:删除外键约束
alter table test2 drop constraint FK__test2__id__08EA5793

--第三步:检查表上是否还有外键约束
--只要使用第一步里面的查找语句即可

alter table user_role add constraint fk_user_role_user
foreign key(u_idName) references [user](u_idName)

alter table [Vise_WorkBack] add constraint fk_Vise_WorkBack_Vise_WorkFlow
foreign key(wb_FileNO) references Vise_WorkFlow(w_FileNO)

--刪除約束
alter table Vise_WorkFlow drop constraint fk_Vise_WorkFlow_Vise_WorkBack
--創建觸發器
alter TRIGGER Vise_WorkFlow_update on Vise_WorkFlow  FOR update   
AS   
if update(w_no)
BEGIN
    update Vise_WorkFlow SET Vise_WorkFlow.w_isOk=1 from Vise_WorkFlow,inserted
 where Vise_WorkFlow.w_fileNo=inserted.w_fileNo and inserted.w_no=2
    if @@error<>0   rollback transaction
END 
GO

 

 

alter TRIGGER Vise_WorkFlow_update on Vise_WorkFlow  FOR update   
AS   
if update(w_no)
BEGIN
    IF EXISTS(SELECT * FROM INSERTED,Vise_WorkFlow WHERE Vise_WorkFlow.w_fileNo=inserted.w_fileNo and INSERTED.W_NO=2 AND LEN(Vise_WorkFlow.w_conductorID)=0)
 begin
  update Vise_WorkFlow SET Vise_WorkFlow.w_isOk=1 from Vise_WorkFlow,inserted
  where Vise_WorkFlow.w_fileNo=inserted.w_fileNo and inserted.w_no=2
 end
 else
 begin
  update Vise_WorkFlow SET Vise_WorkFlow.w_isOk=1 from Vise_WorkFlow,inserted
  where Vise_WorkFlow.w_fileNo=inserted.w_fileNo and inserted.w_no=3 AND LEN(Vise_WorkFlow.w_conductorID)>0
 end
    if @@error<>0   rollback transaction
END 
GO

 

禁用、启用外键约束和触发器

参考资料:http://huangqiqing123.iteye.com/blog/1420465 【一、SQL命令】 --- 禁用指定表所有外键约束  alter table[表名] NOCHECK...

触发器解决外键约束问题

触发器是与表事件有关的特殊存储过程。它不能直接被执行,必须为表上的增、删、改事件所触发。外键要比触发器更快,但是我们经常会遇见外键约束的问题,触发器能解决外键不能处理的复杂关系。下面是一个实践的例子:...

sqlserver 基础(增、删、改、查、链表查询、建立聚焦索引、主键、创建约束、创建外键)、触发器、存储过程

初中学历 + 记忆力差的我只能去点点滴滴的记录着开发中遇到的问题!
  • XPY567
  • XPY567
  • 2015年11月14日 14:53
  • 1377

sql-约束constraint(非空,唯一,主键,外键,检查)自学笔记

约束(constraint)即完整性约束 在表上强制执行的数据校验规则, 对表执行DML(insert,update,delete)操作时,如果不符合规则则无法执行。 种类: 非空约束      ...

SQL Server 创建约束图解(索引,外键,主键,check,唯一)

SQLServer 中有五种约束, Primary Key 约束、 Foreign Key 约束、 Unique 约束、 Default 约束和 Check 约束,今天使用SQL Server...
  • Aeroleo
  • Aeroleo
  • 2016年03月10日 12:45
  • 445

拿来主义:分享给大家,关于SQL中数据库设置,约束、外键、主键等

SQL的主键和外键约束   SQL的主键和外键的作用:    外键取值规则:空值或参照的主键值。 (1)插入非空值时,如果主键表中没有这个值,则不能插入。 (2)更新时,...

sql-约束constraint(非空,唯一,主键,外键,检查)自学笔记

约束(constraint)即完整性约束 在表上强制执行的数据校验规则, 对表执行DML(insert,update,delete)操作时,如果不符合规则则无法执行。 种类: 非空约束...
  • ID_Rin
  • ID_Rin
  • 2017年01月09日 12:09
  • 1247

【总结】alter table *** add constraint *** 用法 . 建立约束 ,主键、外键的SQL语句写法

【总结】alter table *** add constraint *** 用法 2010年08月26日 星期四 08:31 1.主键约束: 要对一个列加主键约束的话,这列就必须要满足的...

主键、外键、唯一、约束区别

  • 2010年03月18日 07:52
  • 21KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL约束(外键、主键、触发器)
举报原因:
原因补充:

(最多只允许输入30个字)