Ver Mensaje Individual
  #6 (permalink)  
Antiguo 16/06/2015, 11:27
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: quiero hacer una consulta al mejor estilo de programcion

No puedes usar una función IF para ejecutar sentencias. Para eso se usan las estructuras de decision IF... THEN... ELSE, igual que en cualquier lenguaje de programación.
Creí que eso lo habías entendido. Me parece que es obvio que así como no puedes usar una función IIF() que existe en algunos lenguajes para ejecutar una sentencia llamada desde el valor devuelto por esa función, tampoco puedes usar una IF() de MySQL, ya que ese no es su uso.
Por favor, usa el manual de referencia para ver esos detalles: MySQL: IF()

Por otro lado, yo no dije que no se pueda usar una estructura IF.. THEN ... ELSE ... ENDIF, sino que no la puedes poner descolgada en un script, porque es una estructura que sólo tiene sentido en un SP.

Lo que tampoco le encuentro sentido es que me digas que primero crearás un script y loego lo "meterás" en un SP... ¿Por qué no creas directamente el SP y vas haciendo tus experimentos alli?

Cita:
despues de terminar el script, ahi lo pongo todo dentro de un procedure que se ejecutara cada cierto tiempo
Bueno, para eso MySQL tiene los EVENT, no necesariamente tienes que hacer un SP, aunque es una buena idea tener esa lógica separada.

Si haces un SP que contenga la lógica de este tipo:
Código MySQL:
Ver original
  1. CREATE PROCEDURE procedaltas(... los parametros que sean ...)
  2.   IF valorA = valorB
  3.    -- Realiza INSERT
  4.   ELSE
  5.     -- Realiza UPDATE
  6.   END IF;
no veo cual sería el problema...

Intentalo y veamos qué logras.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)