Para que te dé clave duplicada, tienes la opción de crear un índice
exclusivo. Nosotros tuvimos el mismo problema y lo solucionamos así. 

 

Te pongo un ejemplo:

 

CREATE UNIQUE INDEX LIB/INDICE1 

                ON LIB/TABLA1 ( CAMPO_CLAVE1 , CAMPO_CLAVE2) 

                RCDFMT TABLA1

 

El campo CAMPO_CLAVE2 admite nulos pero no te dejará grabar dos registros
con el mismo CAMPO_CLAVE1 y Null en CAMPO_CLAVE2.

 

Saludos

 

Andrés Ros Salvá

Departamento de Informática

Telf. 971 21 34 97 

Fax   971 43 29 15

e-mail: [email protected]

 <http://www.mutuabalear.es/> www.mutuabalear.es |
<http://www.elautonomo.es/> www.elautonomo.es

 

 

De: [email protected]
[mailto:[email protected]] En nombre de Eduardo
Pascual Rodriguez
Enviado el: martes, 25 de enero de 2011 11:02
Para: forum.help400
Asunto: Re: Claves Primarias en SQL Con datos NULL

 

Hola Javier:

Si yo opino como tu, pero ya sabes, cuando te intentan migrar aplicaciones
generadas para otras BB.DD. (en este caso PostGreSQL u Oracle que si que lo
permiten) anustro AS400, son cosas que pasan y que debo intentar paliar de
alguna manera para que el funcionamiento de la Aplicacion sea Optimo.

De todas formas, mas que una clave primaria esto es una clave primaria
exclusiva.

Muchas Gracias por tu Respuesta.

Salu2



********************************************
D. Eduardo Pascual Rodríguez
Tecnico de Sistemas
Ayuntamiento de Vitoria-Gasteiz
Tfno.:  +34.945.16.16.33       Ext.: 3107
Fax:    +34.945.16.16.00
E-mail: [email protected]
********************************************



El 25/01/2011 10:28, Javier Mora escribió: 

Una clave primaria de una tabla no debería permitir nulos, por lo menos era
uno de los requisitos que tenía que cumplir una clave primaria. Lo cierto es
que nunca he probado lo que intentas. Sin embargo, ten en cuenta que un
valor nulo no es un valor concreto es algo "indefinido" y el gestor de la
base de datos podría estar liándose por ese motivo.

 

Javier

 

  _____  

De: [email protected]
[mailto:[email protected]] En nombre de Eduardo
Pascual Rodriguez
Enviado el: martes, 25 de enero de 2011 9:05
Para: forum.help400
Asunto: Claves Primarias en SQL Con datos NULL

Buenos dias Foro:

Tengo un problema al Insertar Datos en una Tabla SQL con clave primaria de
varios campos en los que se permiten nulos.

Si inserto datos en todos los campos de la clave, no tengo problemas ya que
el Sistema me comprueba si existe esa clave y si esta duplicada me da error.

Si alguno de los campos de la clave va a NULOS, entonces esa comprobacion no
se hace y me permite Insertar Registros con Claves Duplicadas.

Yo necesito alguna forma de prevenir esto pero si que es necesario permitir
nulos en la clave.

Alguien ha solucionado esto de Alguna Forma? Estoy en V5R4.

Salu2



-- 
********************************************
D. Eduardo Pascual Rodríguez
Tecnico de Sistemas
Ayuntamiento de Vitoria-Gasteiz
Tfno.:  +34.945.16.16.33       Ext.: 3107
Fax:    +34.945.16.16.00
E-mail: [email protected]
********************************************
 



  _____  



 
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.
__________________________________________________________________________

Sus datos personales serán incorporados a un fichero de MUTUA BALEAR
para que pueda ponerse en contacto con usted y realizar comunicaciones
por cuestiones derivadas de su actividad. Para el ejercicio de sus
derechos de acceso, rectificación, cancelación y oposición puede dirigirse
por escrito a MUTUA BALEAR, Mutua de Accidentes de Trabajo y
Enfermedades Profesionales de la Seguridad social número 183, c/ Bisbe
Campins, 4 de Palma de Mallorca.
 
Este mensaje y sus documentos adjuntos son confidenciales. Si usted no 
es el destinatario, por favor póngalo en conocimiento del remitente y 
elimine esta comunicación y los documentos adjuntos de su sistema, sin 
reproducir ni comunicar sus contenidos. La transmisión de correo 
electrónico no garantiza que sea seguro o libre de error, por lo que 
declinamos cualquier responsabilidad al respecto.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a