Re: CTAS only recreate non-NULL contrainsts - WHY?

From: Robert Freeman <robertgfreeman_at_yahoo.com>
Date: Mon, 24 Mar 2008 22:40:33 -0700 (PDT)
Message-ID: <533024.84726.qm@web38911.mail.mud.yahoo.com>


Well, think about it.

If I do a CTAS which is a join between two tables, then which primary key gets moved over? You can define the primary key in the CTAS command if you need to like this:

 create table newemp (empid primary key)  as select empid from emp;

With respect to FK's, the same logic applies.... you could be creating rows that would violate the existing FK (say with an outer join).

RF  

Robert G. Freeman
Author:
Oracle Database 11g New Features (Oracle Press) Portable DBA: Oracle (Oracle Press)
Oracle Database 10g New Features (Oracle Press) Oracle9i RMAN Backup and Recovery (Oracle Press) Oracle9i New Feature
Blog: http://robertgfreeman.blogspot.com (Oracle Press)

  • Original Message ---- From: Peter Teoh <htmldeveloper_at_gmail.com> To: Oracle-L Freelists <oracle-l_at_freelists.org> Sent: Monday, March 24, 2008 10:33:26 PM Subject: CTAS only recreate non-NULL contrainsts - WHY?

It is known that CTAS only recreate the constraints if it is non-NULL, while others like primary key, foreign keys are all not created.

Is there any reason why?

--

http://www.freelists.org/webpage/oracle-l

--

http://www.freelists.org/webpage/oracle-l Received on Tue Mar 25 2008 - 00:40:33 CDT

Original text of this message