varios update en un mismo procedimiento almacenado
Publicado por ruben (1 intervención) el 13/07/2017 09:49:18
Muy buenas a to@s!, espero que puedan ayudarme.
El problema al que me enfrento es el siguiente, quiero realizar varios update dentro de un procedimiento almacenado, pero solo me ejecuta el primero. Os muestro el codigo para que vean como lo hago.
Gracias de antemano por la ayuda.
El problema al que me enfrento es el siguiente, quiero realizar varios update dentro de un procedimiento almacenado, pero solo me ejecuta el primero. Os muestro el codigo para que vean como lo hago.
Gracias de antemano por la ayuda.
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
ALTER PROCEDURE [dbo].[TRAGSEGA_ORDENES] @fechadesde AS datetime AS
BEGIN
select COCOEX AS 'SUBEXPLOTACION',CONREG,COFEAC,EXESPE,OPTIPR,prdesc,OPTICS,santicos.csdesc as 'desc tipo',OPCOSA,sib_sibconsa.csdesc,CONUME,opdeta,coobse,COFECA,conumu
FROM DIL_CORDEN
INNER JOIN SIB_SIBEXPLO ON COCOEX=EXCOEX
left JOIN DIL_ORDPEN ON CONREG=OPNREG
left JOIN SANTIPRO ON opTIPR = PRPROC
left join santicos on optics = cstics AND optipr=csproc
left join sib_sibconsa on opcosa = cscodi AND opcoes=csespe
where COFECA >convert(datetime,@fechadesde,103) AND EXESPE IN ('01','03','04','23','24','25','82') AND SUBSTRING(CONREG,5,1)<>'3'
UNION
select COCOEX AS 'SUBEXPLOTACION',CONREG,COFEAC,EXESPE,OPTIPR,prdesc,OPTICS,santicos.csdesc as 'desc tipo',OPCOSA,sib_sibconsa.csdesc,CONUME,opdeta,coobse,COFECA,conumu
FROM DIL_CORDEN_o
INNER JOIN SIB_SIBEXPLO ON COCOEX=EXCOEX
left JOIN DIL_ORDPEN_o ON CONREG=OPNREG
left JOIN SANTIPRO ON opTIPR = PRPROC
left join santicos on optics = cstics AND optipr=csproc
left join sib_sibconsa on opcosa = cscodi AND opcoes=csespe
where COFECA >convert(datetime,@fechadesde,103) AND EXESPE IN ('01','03','04','23','24','25','82') AND SUBSTRING(CONREG,5,1)<>'3'
ORDER BY CONREG
END
BEGIN
UPDATE JSF_DIL_CORDEN
SET GRABADO = CONCAT('Grabado: ',CONVERT(varchar(10),getdate(),103))
where CONREG in (select distinct CONREG
FROM DIL_CORDEN
INNER JOIN SIB_SIBEXPLO ON COCOEX=EXCOEX
left JOIN DIL_ORDPEN ON CONREG=OPNREG
left JOIN SANTIPRO ON opTIPR = PRPROC
left join santicos on optics = cstics AND optipr=csproc
left join sib_sibconsa on opcosa = cscodi AND opcoes=csespe
where COFECA >convert(datetime,@fechadesde,103) AND EXESPE IN ('01','03','04','23','24','25','82') AND SUBSTRING(CONREG,5,1)<>'3'
)
/*Actualizo el campo isGrabada a 1*/
update JSF_DIL_CORDEN
set ISGRABADA = 1
where GRABADO in (select GRABADO from JSF_DIL_CORDEN where GRABADO like '%Grabado%')
END
BEGIN
UPDATE JSF_DIL_CORDEN_O
SET GRABADO = CONCAT('Grabado: ',CONVERT(varchar(10),getdate(),103))
where CONREG in (select distinct CONREG
FROM DIL_CORDEN_O
INNER JOIN SIB_SIBEXPLO ON COCOEX=EXCOEX
left JOIN DIL_ORDPEN ON CONREG=OPNREG
left JOIN SANTIPRO ON opTIPR = PRPROC
left join santicos on optics = cstics AND optipr=csproc
left join sib_sibconsa on opcosa = cscodi AND opcoes=csespe
where COFECA >convert(datetime,@fechadesde,103) AND EXESPE IN ('01','03','04','23','24','25','82') AND SUBSTRING(CONREG,5,1)<>'3'
)
END
GO
Valora esta pregunta


0