Al crear la tabla puedes poner la instrucción primary key al lado del campo, 
por ejemplo:
 
Create Table jjincid.cabecera (                               
   Campo1    Numeric(5, 0)       Not Null,                    
   Campo2    Numeric(4, 0)       Not Null,                    
   Campo3    Numeric(3, 0)       Not Null Primary Key);
 
Luego de crear la tabla con su primary key puedes crear el constraint unique 
sobre campos que no se repitan en la tabla sino te da error porque entonces tu 
data no tiene registros únicos.
 
Prueba lo anterior y luego tu sentencia de detalle.


________________________________

De: [email protected] 
[mailto:[email protected]] En nombre de 
[email protected]
Enviado el: Viernes, 19 de Marzo de 2010 07:23
Para: forum.help400
Asunto: Duda Foreign Key


Buenos días:

Según tengo entendido una Foreign Key se puede indicar sobre una Primary Key o 
sobre un Unique Index pero las siguientes instrucciones me dan error:

Create Table jjincid.cabecera (                               
   Campo1    Numeric(5, 0)       Not Null,                    
   Campo2    Numeric(4, 0)       Not Null,                    
   Campo3    Numeric(3, 0)       Not Null,                    
                                                              
   Primary Key(Campo3 )                                       
);                                                            
                                                              
Create Unique Index jjincid.cabeceraX1 On jjincid.cabecera    
  (Campo1, Campo2);                                           
                                                              
Create Table jjincid.detalle  (                               
   Campo1    Numeric(5, 0)       Not Null,                    
   Campo2    Numeric(4, 0)       Not Null,                    
   Campo3    Numeric(3, 0)       Not Null,                    
                                                              
   Foreign Key (Campo1, Campo2)                               
      References jjincid.cabecera                             
        (Campo1, Campo2),                                     
                           
   Primary Key(Campo3 )    

);               

Y el error es:

SQL0573  30      12  Posición 2 Tabla DETALLE en JJINCID no tiene una clave 
                                 padre coincidente.                             
        
          
Estamos en versión 5R4 y bastante bien de PTF's.

Gracias,
Jorge Merino 

____________________________________________________
© Publicaciones Help400, S.L. - Todos los
derechos reservados http://www.help400.es
----------------------------------------------------
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400

Responder a