Entendamos que lo que necesitas no es "ejemplos" de un SP que haga lo que necesitas hacer, sino razonar lo que debe hacer el SP para cumplir la tarea requerida.
Y para eso sólo necesitas saber hacer SP... en cualquier DBMS.
Cambiar de DBMS para hacer un trigger es un tema exclusivamente de sintaxis aplicable a cada uno (T-SQL, PL/SQL, etc. son la forma en que se programa en cada uno). Y con ese fin simplemente se siguen los manuales de referencia.
Dicho esto, haremos una nueva salvedad, para que podamos hablar con propiedad:
Cita: En SQL he trabajado con sp,
SQL es el lenguaje de consultas, NO EL DBMS. Por favor, no es lo mismo y debemos ser claros.
Cuando dices "SQL" estás hablando de tener experiencia en
T-SQL, que es el lenguaje procedural usado por el MS SQL Server.
Aclarado el punto, vamos a razonar lo que necesitas.
Tu SP debe hacer:
1) Recibir un X conjunto de datos, que pueden ser todos, o algunos nulos. Es posible que convenga recibir un parámetro adicional para determinar si es una acción de alta o modificación, uy una diferente para la baja.
2) Verificar si en la tabla de la base donde corre el SP se encuentra un registro coincidente.
3) Si no existe, realizar un INSERT con los datos recibidos.
4) Si existe, realizar un UPDATE para los datos recibidos.
5) En ambos casos, se debe replicar la tarea en la segunda base.
6) Si se recibió DELETE como operación, se procede a dar de baja en ambas bases con un DELETE simple, dado que no genera fallos si no lo encuentra.
7) En todos los casos se devuelve la cantidad de registros afectados (valor obtenido por función propia de MySQL
ROW_COUNT()).
Eso sería un ejemplo imaginario, por lo que
NO tienes que tomarlo como base, sólo como INSPIRACION o referencia. Es decir, NO hagas un Copy+Paste de esto...
Código MySQL:
Ver originaldelimiter $$
UPDATE base1.tabla1
SET columna2
= IF(dato2
<> columna2
, dato2
, columna2
) WHERE idtabla1
= dato1
;
SET columna2
= IF(dato2
<> columna2
, dato2
, columna2
)
delimiter ;