July 3, 2010 at 11:19 am
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.
July 3, 2010 at 1:47 pm
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
July 3, 2010 at 4:50 pm
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);
Viewing 3 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic. Login to reply