2个表结构如下:
dict表:
id (PK,bigint,not null),
kind (varchar(32),null),
name (varchar(32),null)dictBook表:
id (PK,bigint,not null),
kind (varchar(32),null),
Values (varchar(100),null)现在假如:
dict表中有记录如下:
id  、 kind   、name
1   、 sex    、性别
2   、 degree 、学历dictBook表中有记录如下:
id  、 kind   、values
1   、 sex    、男
2   、 sex    、女
3   、 degree 、本科
4   、 degree 、大专我不知道怎么设置表的关联,dictBook表中的kind关联的是dict表中的kind,
即当删除dict表中的sex时,dictBook表中的kind就会把所有sex的记录都删除。
请问各位大哥,这样要怎么做?

解决方案 »

  1.   

    --主外键级联(kind)删除或用触发器
    create trigger trig_delete_dict on dict
    for delete as
    delete dictBook from deleted where dictBook.kind=deleted.kind
      

  2.   

    createTRIGGER test
       ON  dict
       AFTER delete
    AS 
    BEGIN
    declare @temp varchar(10)
    select @temp = kind   from deleted
    delete from dictBook where kind = @temp END
      

  3.   

    create table dict
    (id bigint not null primary key,kind nvarchar(32),[name] varchar(32))
    create table dictbook
    (id bigint not null primary key,kind varchar(32),[values] varchar(100))insert into dict
    select 1,'sex','性别'
    union all
    select 2,'degree','学历'insert into dictbook
    select 1,'sex','男'
    union all
    select 2,'sex','女'
    union all
    select 3,'degree','本科'
    union all
    select 4,'degree','大专'create trigger tri_dele
    on dict
    for delete
    as
    begin
    delete dictbook from dictbook b,deleted d where b.kind = d.kind
    enddelete dict where id = 1select * from dict
    select * from dictbookid                   kind                             name
    -------------------- -------------------------------- --------------------------------
    2                    degree                           学历(1 row(s) affected)id                   kind                             values
    -------------------- -------------------------------- ----------------------------------------------------------------------------------------------------
    3                    degree                           本科
    4                    degree                           大专(2 row(s) affected)
      

  4.   


    呵呵!谢谢大家,
    刚才上网找了一下,使用Hibernate的话会和触发器有冲突吧,
    晕啊!现在不知道怎么做,没思路了啊!
      

  5.   

    就用触发器 在MSDN里看看 不用看别的