命名有点不规范~!看着累了
       
有表3表      tb_province , tb_city   ,tb_area
关联的id   provinceid -〉provinceid 
                             cityid    ->cityid然后我做级联删除 我想在删除tb_province里的这个provinceid后对应后面相关联
两表的所有信息 语句如下
create proc pro_deleteprovince
@provinceid     int--大类序号
as
begin tran
declare @cityid int
delete tb_province where provinceid = @provinceid
delete tb_city where provinceid = @provinceid
set @cityid = (select cityid from tb_area where cityid in(select cityid from tb_city where provinceid = @provinceid))
delete tb_area where cityid = @cityid
commit tran为什么删除只删掉tb_province,tb_city这两个表的信息tb_area表的信息删不掉 找不出原因请教各位了,谢谢

解决方案 »

  1.   

    有表3表      tb_province , tb_city   ,tb_area 
    关联的id   provinceid -〉provinceid  
                                      cityid    ->cityid (上面对的好象不整齐)
      

  2.   

    有表3表      tb_province , tb_city   ,tb_area 
    关联的id   provinceid -〉provinceid  
                                          cityid    ->cityid 
    还是不整齐干脆说下tb_province表 有provinceid和tb_city表里provinceid对应
    tb_city表里cityid和tb_area表里cityid对应
      

  3.   

    应该是执行顺序问题吧,
    delete tb_area where cityid = @cityid 这个写在
    delete tb_province where provinceid = @provinceid 
    delete tb_city where provinceid = @provinceid前面试试
      

  4.   

    设计数据库的时候,就应该补充
    on delete cascade了~
      

  5.   

    delete tb_province where provinceid = @provinceid 
    delete tb_city where provinceid = @provinceid 
    set @cityid = (select cityid from tb_area where cityid in(select cityid from tb_city where provinceid = @provinceid)) 
    这块是不是上面的已经删除了
      

  6.   

    兄弟你把在前两个表里已经把那个provinceid 的数据删掉了,后面又去找select cityid from tb_city where provinceid = @provinceid)里面的记录当然找不到了,所以delete没有执行
      

  7.   

    谢谢大家了 我把他改为这样就可以实现了 但不知道有没有那里不足 望大家给点意见 谢谢
    create proc pro_deleteprovince
    @provinceid     int--大类序号
    as
    begin tran
    declare @cityid int
    set @cityid = (select distinct cityid from tb_area where cityid in(select cityid from tb_city where provinceid = @provinceid))
    delete tb_area where cityid = @cityid
    delete tb_city where provinceid = @provinceid
    delete tb_province where provinceid = @provinceid
    commit tran
      

  8.   

    你试着根据cityId删除主键表看下。