标题:谁能帮我看一下这段程序哪里有问题????
只看楼主
喜子
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2010-11-22
结帖率:40%
已结贴  问题点数:20 回复次数:4 
谁能帮我看一下这段程序哪里有问题????
题目:删除“客户”表数据时引发的DELETE触发器。
当删除某条客户信息时,同时删除“订单”表中该客户的所有订单。
go
if exists(select name  from sysobjects
      where name='delete_kehu'and type='tr')
    drop trigger delete_kehu
go
create trigger delete_kehu on 客户
for delete
as
if exists(select *
    from deleted
    where 订单.客户id=deleted.客户id)
begin
 delete 订单  
  from 订单,deleted
  where 订单.客户id=deleted.客户id
end
搜索更多相关主题的帖子: 触发器 
2010-12-22 14:53
筱晓绾
Rank: 10Rank: 10Rank: 10
来 自:湖南
等 级:贵宾
威 望:12
帖 子:512
专家分:1736
注 册:2010-9-1
得分:5 
select *
    from deleted
    where 订单.客户id=deleted.客户id

delete 订单  
  from 订单,deleted
  where 订单.客户id=deleted.客户id
订单.客户id是订单表里面的字段吧.
deleted.客户id是deleted表中的字段.
执行语句时,应该需要对表进行关联...
2010-12-22 15:13
aei135
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:232
专家分:1176
注 册:2009-4-6
得分:5 
create trigger delete_kehu on 客户
for delete
as
if exists(select *
    from 订单,deleted
    where 订单.客户id=deleted.客户id)
begin
delete 订单  
  from 订单,deleted
  where 订单.客户id=deleted.客户id
end
2010-12-23 11:41
juejitianya
Rank: 4
等 级:业余侠客
威 望:3
帖 子:44
专家分:272
注 册:2009-9-11
得分:5 
将函数主题改成下面这样试试:
delete from 订单  
where exists(select * from deleted 订单.客户id=deleted.客户id)
2010-12-23 14:12
qingshuiliu
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:17
帖 子:323
专家分:1538
注 册:2009-12-28
得分:5 
2,3楼回答的就是我想回答的
2010-12-24 10:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-329599-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.936218 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved