修改一下表结构设计。1,工程表
ID
名称,
.......
验收状况 当合格时标:合格 并给 验收合格ID 字段赋值。
验收合格ID2,验收清单表
ID,
......
ID
名称,
.......
验收状况 当合格时标:合格 并给 验收合格ID 字段赋值。
验收合格ID2,验收清单表
ID,
......
解决方案 »
- 求SQL语句
- 求一条三表相连的sql语句
- 数据库复制问题?是sql2000不支持,还是我设置的有问题
- 关于嵌入事务出现的问题,请诸位看下.感谢
- MSDASQL" 无法启动分布式事务
- INF:有关 Microsoft SQL Server 灾难恢复的文章
- 在安装sqlserver2000时如何修改默认的排序规则?
- 三条记录都有时间字段,如何用SQL语句找出最早或最晚的那条记录
- sql6.5不支持";", OLEDB不支持"go",我这个问题该如何解决?
- ★★★快来抢100分★★★:在sql server 2000里用import导进数据,trigger怎么没起作用???
- 大家看看这个表用SQL排序该怎么排??
- SQL2005版本客户端访问本地EXCEL2007,咋办?
FOR INSERT
AS
if exists(select 1 from 表 a where 验收状况='合格' and exists(select 1 from inserted where 工程名称=a.工程名称))
rollback tran
FOR INSERT,update
AS
if exists(select 1 from 表 a where 验收状况='合格' and exists(select 1 from inserted where 工程名称=a.工程名称))
rollback tran
2、当detail表的“验收状况”字段标为“合格”的时候,主表对应的“验收种类”内容改为“总体验收”。请问这个触发器怎么做,解决了立即给分,我赶着项目要做。
FOR INSERT,update
ASupdate 主表
set 验收种类='分段验收'
where id=(select id from inserted)declare @验收状况 char(20)
select @验收状况=验收状况 from insertedif(@验收状况='合格')
begin
update 主表
set 验收种类='总体验收'
where id=(select id from inserted)
end
CREATE TRIGGER 名 ON detail表
FOR INSERT
AS
update 主表 set 验收种类='分段验收' where exists (select 1 from inserted where 编号=主表.编号)
2、
CREATE TRIGGER 名 ON detail表
FOR update
AS
update 主表 set 验收种类='总体验收' where exists (select 1 from inserted where 编号=主表.编号 and 验收状况='合格')
select 1 from inserted where 编号=主表.编号 and 验收状况='合格'
是什麼意思