Multiple cascade paths

  • Hi,

    I know we cannot implement a foreign key constraint that causes a multiple cascade path.

    Assume we have two tables calls "persons" and "table_2".

    I create the table’s schema structures with following DDL statements:

    use tempdb ;

    create table person(person_nbr int not null primary key) ;

    create table table_2 (row_nbr int not null primary key, sender int references person(person_nbr) on update cascade,

    reciever int references person(person_nbr) /*on update cascade*/) ;

    I adjust only on foreign key "CASCASE update"

    But it will not be practical at all!!

    The only solution foot solving the problem is using "open schema" structure?

    You mean I can use this schema?

    use tempdb ;

    create table person(person_nbr int not null primary key, person_name varchar(500)) ;

    create table table_2

    (row_id int primary key identity,

    row_nbr int,

    person_nbr int

    references person(person_nbr),

    type bit,

    check (type in (0, 1))

    --0 = sender

    --1 = receiver

    ) ;

    And for retrieving data I should use this query:

    SELECT row_nbr, MAX(CASE WHEN type = 0 THEN p.person_name END) AS sender_name,

    MAX(CASE WHEN type = 1 THEN p.person_name END) AS receiver_name

    FROM table_2 t

    JOIN persons p

    ON t.person_nbr = p.person_nbr

    GROUP BY row_nbr ;

    I am waiting for your solutions.

    Thanks.

  • I'm afraid I really don't understand your question. Could you possibly supply a little more detail? What do you mean by "practical"? Some sample data and expected outputs would be most helpful in to those trying to assist you.

    __________________________________________________

    Against stupidity the gods themselves contend in vain. -- Friedrich Schiller
    Stop, children, what's that sound? Everybody look what's going down. -- Stephen Stills

  • Can you explain why you want a cascade on updates? That column references an integer primary key in the person table - surely you will not be updating that key?

    MM



    select geometry::STGeomFromWKB(0x0106000000020000000103000000010000000B0000001000000000000840000000000000003DD8CCCCCCCCCC0840000000000000003DD8CCCCCCCCCC08408014AE47E17AFC3F040000000000104000CDCCCCCCCCEC3F9C999999999913408014AE47E17AFC3F9C99999999991340000000000000003D0000000000001440000000000000003D000000000000144000000000000000400400000000001040000000000000F03F100000000000084000000000000000401000000000000840000000000000003D0103000000010000000B000000000000000000143D000000000000003D009E99999999B93F000000000000003D009E99999999B93F8014AE47E17AFC3F400000000000F03F00CDCCCCCCCCEC3FA06666666666FE3F8014AE47E17AFC3FA06666666666FE3F000000000000003D1800000000000040000000000000003D18000000000000400000000000000040400000000000F03F000000000000F03F000000000000143D0000000000000040000000000000143D000000000000003D, 0);

  • Forum Etiquette: How to post Reporting Services problems
  • [/url]
  • Forum Etiquette: How to post data/code on a forum to get the best help - by Jeff Moden
  • [/url]
  • How to Post Performance Problems - by Gail Shaw
  • [/url]

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply