Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/03/2010, 13:08
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Como saber si una clave primaria existe antes de insertar datos?

Exacto.

Te pongo un ejemplo.

Con esta tabla

Código SQL:
Ver original
  1. pruebas=> SELECT *FROM tabla1 ORDER BY nov_id;
  2.  nov_id |        nov_fecha        |    reporte
  3. --------+-------------------------+---------------
  4.       1 | 2009-03-24 15:34:51.468 | daniel
  5.       2 | 2009-03-24 15:34:54.515 | daniela
  6.       3 | 2009-03-24 15:34:56.359 | otros
  7.       4 | 2009-03-24 15:34:58.062 | daiana
  8.       6 | 2009-05-26 08:36:04.156 | danielito
  9.       7 | 2009-09-08 09:49:06.156 | cßrlos
  10.       8 | 2009-09-08 09:49:20.656 | nore±a
  11.       9 | 2009-09-08 09:50:50.312 | cßrlos
  12.      10 | 2009-09-08 09:56:15.046 | cßrlos
  13.      11 | 2009-09-08 09:57:54.39  | daniel
  14.      12 | 2009-09-08 10:06:51.765 | d┬ñniel
  15.      14 | 2009-09-08 10:12:29.281 | repli┬ñaci┬ón
  16. (12 filas)

Si vas a validar el registro 14.

Código SQL:
Ver original
  1. pruebas=> SELECT COUNT(*) FROM tabla1 WHERE nov_id=14;
  2.  COUNT
  3. -------
  4.      1
  5. (1 fila)

Quiere decir que ya existe. Se procede a realizar el update.

Pero si validamos el 15.

Código SQL:
Ver original
  1. pruebas=> SELECT COUNT(*) FROM tabla1 WHERE nov_id=15;
  2.  COUNT
  3. -------
  4.      0
  5. (1 fila)

No existe. Así que se puede proceder a insertar el registro.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming