Trigger y Update con subconsulta
Publicado por Daniel Gonzalo (3 intervenciones) el 27/11/2020 18:13:29
Buenas tardes y gracias por su atención. Tengo que ejecutar un trigger, cosa a la que no soy muy afecto, y me piden un update a otra tabla que el resultado parte de una subconsulta entre Inserted y otra tabla con valores de donde debo obtener para actualizar el update. La verdad estoy trabado en esa parte y si alguién tiene ganas y tiempo de darle un ojo a la estructura no sintaxis de sql porque, aunque me repito, da los valores que busco, se lo voy a agradecer.
Saludos y gracias.
No tuve tiempo de cambiar
----------
Gracias por su tiempo y atención.
Saludos y gracias.
No tuve tiempo de cambiar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
CREATE TRIGGER TR_AmmountPremium
ON Commis_pr -- cuando se inserta en commis_pr actualizo en premmiun
FOR
INSERT
AS
DECLARE @sErrorMessage VARCHAR(300)--- variable en caso de error.
UPDATE Premium set Premium.nComamou = cp.nAmount WHERE
(
SELECT pr.nReceipt, pr.nComamou, cp.nAmount
FROM Premium pr (NOLOCK)
INNER JOIN INSERTED I -- registro insertado en insudb.Commiss_pr --
ON I.nReceipt = pr.nReceipt
AND I.nDigit = 0 AND I.nPaynumbe = 0
OUTER APPLY (SELECT SUM(nAmount) nAmount
FROM Commiss_pr cp (NOLOCK)
WHERE cp.nReceipt = I.nReceipt
AND cp.nDigit = 0 AND I.nPaynumbe = 0) AS cp
WHERE ISNULL(pr.nComamou,0) = 0.00
AND cp.nAmount <> 0.00 -- el valor de commis_pr
)
IF @@ERROR > 0
set @sErrorMessage='Error, no se pudo actualizar el monto en Premmim.nAmount, por favor avise a su administrador'
ROLLBACK TRANSACTION
RAISERROR(@sErrorMessage,1,16)
----------
Gracias por su tiempo y atención.
Valora esta pregunta


0