SQL Recipes (Beta II)
A FREE cookbook for SQL queries and examples
Register FAQ Search Today's Posts Mark Forums Read

SQL - Questions and Answers Have a SQL question? Post it here. First do a search to see if someone hasn't already answered it.

Go Back   SQL Recipes a FREE cookbook of SQL queries and examples > SQL queries and examples > SQL - Questions and Answers

Reply
 
LinkBack Thread Tools Search this Thread Rate Thread
  #1 (permalink)  
Old 05-26-2006, 04:32 AM
irfanhab irfanhab is offline
Junior Member
 
Join Date: May 2006
Posts: 10
irfanhab is on a distinguished road
Default Oracle dialect question:

How do I avoid chicken and egg problems?


Say If I have a table which defines a foreign key constraint on another table which itself does not yet exist? I cant create such a table as I keep getting an exception
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

ANSWER(S):

  #2 (permalink)  
Old 05-26-2006, 04:37 AM
irfanhab irfanhab is offline
Junior Member
 
Join Date: May 2006
Posts: 10
irfanhab is on a distinguished road
Default Oracle answer. Re: How do I avoid chicken and egg problems?

You can use deferrable constraint checking in this scenario
Code:
CREATE TABLE chicken(chickenID INT PRIMARY KEY, eggID INT);
CREATE TABLE egg(eggID INT PRIMARY KEY, chickenID INT);

Then, we add foreign key constraints:

ALTER TABLE chicken ADD CONSTRAINT chicken_gg
    FOREIGN KEY (eggID) REFERENCES egg(eggID)
    INITIALLY DEFERRED DEFERRABLE;
ALTER TABLE egg ADD CONSTRAINT egg_chicken
    FOREIGN KEY (chickenID) REFERENCES chicken(chickenID)
    INITIALLY DEFERRED DEFERRABLE;
After creating deferrable constraint checking, Oracle (or any other dbserver) will check constraints only on commit events.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Rate This Thread
Rate This Thread:

Posting Rules
You may post new threads
You may post replies
You may not post attachments
You may edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT. The time now is 04:58 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.0.0
Copyright (c) 2006-2007 SQL Recipes

1 2 3 4 5 6 7