Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

mutliple refential integrity

1 view
Skip to first unread message

Ravi

unread,
May 31, 2007, 7:57:32 AM5/31/07
to
Suppose I want a column in my table to reference two other columns of
other two tables (of course datatypes are same, and the other two
columns are primary key in their respective relations). How can I
enforce this using SQL?

Carl Kayser

unread,
May 31, 2007, 9:44:05 AM5/31/07
to

"Ravi" <ra.ra...@gmail.com> wrote in message
news:1180612651....@q19g2000prn.googlegroups.com...

What do you mean?

If you mean that it must be in the intersection of the two tables then two
foreign key declarations suffice. If you mean the union of the two tables
then you'll probably have to with triggers in your (unspecifed) RDBMS.


--CELKO--

unread,
Jun 1, 2007, 12:16:05 PM6/1/07
to
>> Suppose I want a column in my table to reference two other columns of other two tables (of course data types are same, and the other two columns are primary key in their respective relations). How can I enforce this using SQL? <<-

CREATE TABLE Foo
(foo_id INTEGER NOT NULL PRIMARY KEY,
..);

CREATE TABLE Bar
(_id INTEGER NOT NULL PRIMARY KEY,
..);

CREATE TABLE Foobar
(foo_id INTEGER NOT NULL
REFERENCES Foo(foo_id),
bar_id INTEGER NOT NULL
REFERENCES Bar(bar_id),
..);


punit arya

unread,
Jun 8, 2007, 8:42:22 AM6/8/07
to

CREATE TABLE <TABLE_NAME>
(
<COLUMN 1> <TYPE>,
<COLUMN 2> <TYPE>,
...
<COLUMN N> <TYPE>
FOREIGN KEY (<COLUMN NAME BEING REFERENCED>) REFERENCES
<OTHER_TABLE_NAME> (<COLUMN NAME BEING REFERENCED>),
FOREIGN KEY (<COLUMN NAME BEING REFERENCED>) REFERENCES
<OTHER_TABLE_NAME> (<COLUMN NAME BEING REFERENCED>)
);

This will do. & if you want to give this constraint a name, so that
you can later on remove or modify it, you can give it a name by
CONSTRAINT <CONSTRAINT NAME> FOREIGN KEY...

this constraint name should be unique within a schema.

0 new messages