Buenos días:
El problema es precisamente ese.
Teóricamente se puede crear una Foreign Key tanto sobre una Primary
Key como sobre un Unique Index y es ahí donde está el
problema. Si lo hago sobre la Primary Key funciona sin problemas pero
cuando lo hago sobre los campos de un Unique Index me da el error que
reporto.
Se supone que tu puedes crear tantos Unique Index en una tabla como te
parezca (es un decir) y luego hacer referencia a ellos con Foreign key
desde otras tablas.
¿Es un fallo del sistema de gestión de base de datos?
Gracias,
Jorge Merino.
Carmen Calderón Farfán escribió:
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.
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
--
Untitled Document
Jorge Merino
e-mail: [email protected]

Tél:
971 467 912
Fax: 971 770 751
Este mensaje se
dirige exclusivamente a su destinatario y puede contener información
privilegiada o confidencial y/o datos de carácter personal, cuya
difusión está regulada por la Ley Orgánica de Protección de Datos y la
Ley de Servicios de la Sociedad de la Información. Si usted no es el
destinatario indicado (o el responsable de la entrega al mismo), no
debe copiar o entregar este mensaje a terceros bajo ningún concepto. Si
ha recibido este mensaje por error o lo ha conseguido por otros medios,
le rogamos que nos lo comunique inmediatamente por esta misma vía y
proceda a su eliminación irreversible. Las opiniones, conclusiones y
demás información incluida en este mensaje que no estén relacionadas
con asuntos profesionales de nuestra empresa no están respaldadas por
la misma.
This
message goes exclusively to his addressee and can contain privileged or
confidential information and / or information of personal character,
which diffusion is regulated by the Organic Law of Protection of
Information and the Law of Services of the Society of the Information.
If you are not the addressee indicated (or the person in charge of the
delivery to the same one), it must not copy or deliver this message to
third under any concept. If it has got this message for mistake or has
obtained it for other means, we ask him to communicate it to us
immediately for the same route and to proceed to his irreversible
elimination. The opinions, conclusions and other information included
in this message that are not related to professional matters of our
company are not endorsed.
|