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 -- Realiza INSERT
-- Realiza UPDATE
no veo cual sería el problema...
Intentalo y veamos qué logras.