Ayuda para hacer consulta mssql

Hola necesito su ayuda para realizar una consulta en agente del sql - trabajos, lo que necesito es el comando para realizar la consulta, tengo mssql 2000, la pregunta es la siguiente:
Yo tengo 2 tablas diferentes Tabla1 y tabla2 ambas de la misma base de datos
en la tabla1 tengo "nombreID" "numero" y
en la tabla2 tengo "IDnombre" "credito"
En Ambas tablas "nombreID" y "IDnombre" son los mismos, yo necesito actualizar "credito" cada vez que "numero" aumente 1 numero (credito=crédito+5).
Ejemplo: (se que doy mucha explicación y seguramente ya entendiste pero no soy muy bueno dándome a entender)
"NombreID" "numero"
Darío 0
Carlos 0
"IDnombre" "credito"
Darío 0
Carlos 0
El numero por un procedimiento que tengo cada cierto tiempo cambia de 1 en 1
"NombreID" "numero"
Darío 1 <----------- cuando cambie
Carlos 0
"IDnombre" "credito"
Darío 5 <---------- este aumente 5
Carlos 0
Se más o menos que lleva este diseño
UPDATE  tabla2
SET credito=credito+5
WHERE NombreID=IDnombre AND numero*5< credito
espero darme a entender y agredecere tu ayuda, aparentemente se ve facil pero te soy sincero no se nada de mssql

1 Respuesta

Respuesta
1
Si lo que quieres es que se haga de manera automática la actualización necesitas incursionar en el mundo de los Trigger's, un trigger es un procedimiento que se ejecuta automáticamente en la base de datos cuando sucede un evento dado (Update, delete, insert) sobre una tabla. De tal suerte que cuando alguien actualice tabla1 de manera automática se actualice tabla2. En los triggers podemos hacer uso de tablas del sistema Inserted y deleted (te recomiendo que le des un vistazo a los Book On Line de SQL).
Un trigger más o menos sencillo para lo que quieres seria así:
Create trigger Trigger1
on Tabla for update
As
Declare @NombreID Varchar(10)
Declare @Numero Smallint
      Select @NombreID = NombreID, @Numero = Numero from Inserted
      UPDATE  tabla2
      SET credito= @Numero * 5
      WHERE NombreID = @NombreID
Go
Por lo que alcancé a ver la relación es de 1 a 5 por lo que te recomiendo que en lugar de ir sumando cada vez 5 hagas una multiplicación de NUMERO por 5 para el caso en que disminuya o aumente el campo NUMERO.
Mucha suerte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas