SQL - procedimiento almacenado

 
Vista:

procedimiento almacenado

Publicado por pit31 (5 intervenciones) el 10/12/2012 08:41:16
hola , tengo un procedimiento almacenado en el que recorro una tabla y meto nombres segun sea el caso, el problema es que no funciona como yo quiero, mete el mismo nombre en todas las filas, alguien podria echarle un vistazo?
un saludo, si hay interesados escribirme y lo enviare en un txt
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

procedimiento almacenado

Publicado por Isaias (1921 intervenciones) el 10/12/2012 19:12:10
Envialo y dime para que BASE DE DATOS o MOTOR DE BASE DE DATOS, lo estas desarrollando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

procedimiento almacenado

Publicado por pit21 (5 intervenciones) el 10/12/2012 20:51:18
mañana a primera hora te lo envio que no tengo el ordenador desde el que trabajo
seria para visual studio 2008
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

procedimiento almacenado

Publicado por pit31 (5 intervenciones) el 11/12/2012 08:10:03
aqui va el procedimiento:

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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
USE [cuenca]
GO
/****** Object:  StoredProcedure [dbo].[TITULAR_INFRACTOR]    Script Date: 12/10/2012 08:34:02 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TITULAR_INFRACTOR] as
   declare @cont_exp int
   declare @boletin varchar (15)
   declare @MAX_exp varchar (15)
   declare @MIN_exp varchar (15)
 
   declare @expediente varchar (15)
   declare @articulo_multas varchar (10)
   declare @fecha datetime2(7)
   declare @fecha_grabacion datetime2(7)
   declare @fecha_modif datetime2(7)
   declare @tipoVehiculo varchar (50)
   declare @matriculaVehiculo varchar(50)
   declare @marcaVehiculo varchar(50)
   declare @modeloVehiculo varchar(50)
   declare @colorVehiculo varchar(20)
   declare @codigoVia int
   declare @tipoVia varchar (10)
   declare @nombreVia varchar (150)
   declare @numerovia  varchar(5)
   declare @escaleravia varchar (2)
   declare @bloquevia varchar (4)
   declare @plantavia varchar (3)
   declare @puertavia varchar (4)
   declare @bisVia  varchar(1)
   declare @codigopos varchar(5)
   declare @codigopro varchar(2)
   declare @provincia varchar(200)
   declare @municipio varchar (5)
   declare @kmVia int
   declare @tasaAlcoholMedida decimal(3,2)
   declare @tasaAlcoholRectificada decimal(3,2)
   declare @velocidadLimite decimal (5,2)
   declare @velocidadMedida decimal(5,2)
   declare @velocidadRectificada decimal(5,2)
   declare @importe decimal(6,2)
   declare @bonificacion int
   declare @importeBonificado decimal (6,2)
   declare @puntosADetraer int
   declare @refPuntosADetraer varchar(4)
   declare @observaciones varchar(255)
   declare @ok varchar (1)
   declare @exp_expediente varchar (15)
   declare @entregado_agente varchar(10)
   declare @notificado varchar (1)
   declare @nif varchar (9)
   declare @codigomun    varchar(5)
   declare @pais varchar (150)
   declare @puntos int
   declare @suspension varchar (1)
   declare @reincidencias int
   DECLARE @tipoDocId_fk VARCHAR (3)
 
   set @cont_exp =0
 
   DECLARE  BOLETINES CURSOR FOR SELECT     multasSQLNombre.expediente, multasSQLNombre.boletin, multasSQLNombre.nif,  multasSQLNombre.codigovia,
    multasSQLNombre.tipovia, multasSQLNombre.nombrevia, multasSQLNombre.numerovia, multasSQLNombre.bisvia, multasSQLNombre.bloquevia,
    multasSQLNombre.escaleravia, multasSQLNombre.plantavia, multasSQLNombre.puertavia,
                      multasSQLNombre.codigopos, multasSQLNombre.codigopro, multasSQLNombre.provincia, multasSQLNombre.codigomun,
                      multasSQLNombre.municipio, multasSQLNombre.pais, multasSQLNombre.puntos, multasSQLNombre.suspension, multasSQLNombre.reincidencias, multasSQLNombre.tipoDocId_fk
FROM         multasSQLNombre INNER JOIN
                      boletinesIFX ON multasSQLNombre.boletin = boletinesIFX.boletin
   OPEN BOLETINES;
   FETCH NEXT FROM BOLETINES into @expediente, @boletin,  @nif, @codigovia, @tipovia, @nombrevia, @numerovia, @bisvia, @bloquevia,
                      @escaleravia, @plantavia, @puertavia,  @codigopos, @codigopro, @provincia,
                      @codigomun, @municipio, @pais,@puntos,@suspension,@reincidencias, @tipoDocId_fk
 
-- Perform the first fetch.
-- Check @@FETCH_STATUS to see if there are any more rows to fetch.
   WHILE @@FETCH_STATUS = 0
   BEGIN
     -- This is executed as long as the previous fetch succeeds.
 
     if @suspension='N'set @suspension  = 0 else set @suspension = 1
  	 Set @cont_exp = (SELECT COUNT (*) FROM  multasSQLNombre  WHERE boletin = @boletin)
 
 
	 if @cont_exp = 1
	   UPDATE [multas].[mul_boletin]
	   SET [titularNumDoc] = @nif
	   ,titularTipoDocId_fk =@tipoDocId_fk
      ,[titularCodigoVia] = @codigoVia
      ,[titularTipoVia] = @tipoVia
      ,[titularNombreVia] = @nombreVia
      ,[titularNumVia] = @numerovia
      ,[titularBisVia] = @bisVia
      ,[titularBloqueVia] = @bloquevia
      ,[titularEscaleraVia] = @escaleravia
      ,[titularPlantaVia] = @plantavia
      ,[titularPuertaVia] = @puertavia
      ,[titularCodigoPostal] = @codigopos
      ,[titularCodProvincia] = @codigopro
      ,[titularProvincia] = @provincia
      ,[titularCodMunicipio] = @codigomun
      ,[titularMunicipio] = @municipio
      ,[titularLocalidad] = @municipio
      ,[titularPais] = @pais
      from   multasSQLNombre
	WHERE   multasSQLNombre.boletin = @boletin and   multasSQLNombre.expediente = @expediente
 
   	  if @cont_exp > 1
   	  BEGIN
   	  set @MAX_exp = (select MAX(expediente)  from  multasSQLNombre  where boletin = @boletin)
   	  set @MIN_exp = (select MIN(expediente)  from  multasSQLNombre  where boletin = @boletin)
   	     UPDATE [multas].[mul_boletin]
	   SET [titularNumDoc] = @nif
	   ,titularTipoDocId_fk= @tipoDocId_fk
      ,[titularCodigoVia] = @codigoVia
      ,[titularTipoVia] = @tipoVia
      ,[titularNombreVia] = @nombreVia
      ,[titularNumVia] = @numerovia
      ,[titularBisVia] = @bisVia
      ,[titularBloqueVia] = @bloquevia
      ,[titularEscaleraVia] = @escaleravia
      ,[titularPlantaVia] = @plantavia
      ,[titularPuertaVia] = @puertavia
      ,[titularCodigoPostal] = @codigopos
      ,[titularCodProvincia] = @codigopro
      ,[titularProvincia] = @provincia
      ,[titularCodMunicipio] = @codigomun
      ,[titularMunicipio] = @municipio
      ,[titularLocalidad] = @municipio
      ,[titularPais] = @pais
      from   multasSQLNombre
 WHERE   multasSQLNombre.boletin = @boletin and   multasSQLNombre.expediente = @MIN_exp
 
 UPDATE [multas].[mul_boletin]
   SET [infractorNumDoc] = @nif
   ,infractorTipoDocId_fk=@tipoDocId_fk
      ,[infractorCodigoVia] = @codigoVia
      ,[infractorTipoVia] = @tipoVia
      ,[infractorNombreVia] = @nombreVia
      ,[infractorNumVia] = @numerovia
      ,[infractorBisVia] = @bisVia
      ,[infractorBloqueVia] = @bloquevia
      ,[infractorEscaleraVia] = @escaleravia
      ,[infractorPlantaVia] = @plantavia
      ,[infractorPuertaVia] = @puertavia
      ,[infractorCodigoPostal] = @codigopos
      ,[infractorCodProvincia] = @codigopro
      ,[infractorProvincia] = @provincia
      ,[infractorCodMunicipio] = @codigomun
      ,[infractorMunicipio] = @municipio
      ,[infractorLocalidad] = @municipio
      ,[infractorPais] = @pais
      ,[infractorReincidencias] = @reincidencias
      ,[infractorPuntos] = @puntos
      ,[infractorSuspension] = @suspension
       from    multasSQLNombre
 WHERE  multasSQLNombre.boletin = @boletin and  multasSQLNombre.expediente = @MAX_exp
 
 UPDATE [multas].[mul_expediente]
   SET [infractorNumDoc] = @nif
      ,TipoDocId_fk=@tipoDocId_fk
      ,[infractorCodigoVia] = @codigoVia
      ,[infractorTipoVia] = @tipoVia
      ,[infractorNombreVia] = @nombreVia
      ,[infractorNumVia] = @numerovia
      ,[infractorBisVia] = @bisVia
      ,[infractorBloqueVia] = @bloquevia
      ,[infractorEscaleraVia] = @escaleravia
      ,[infractorPlantaVia] = @plantavia
      ,[infractorPuertaVia] = @puertavia
      ,[infractorCodigoPostal] = @codigopos
      ,[infractorCodProvincia] = @codigopro
      ,[infractorProvincia] = @provincia
      ,[infractorCodMunicipio] = @codigomun
      ,[infractorMunicipio] = @municipio
      ,[infractorLocalidad] = @municipio
      ,[infractorPais] = @pais
      ,[infractorReincidencias] = @reincidencias
      ,[infractorPuntos] = @puntos
      ,[infractorSuspension] = @suspension
    from    multasSQLNombre
 WHERE  multasSQLNombre.boletin= @boletin and  multasSQLNombre.expediente = @MAX_exp
 END
    FETCH NEXT FROM BOLETINES into @expediente, @boletin,  @nif, @codigovia, @tipovia, @nombrevia, @numerovia, @bisvia, @bloquevia,
                      @escaleravia, @plantavia, @puertavia,  @codigopos, @codigopro, @provincia,
                      @codigomun, @municipio, @pais,@puntos,@suspension,@reincidencias, @tipoDocId_fk
END
CLOSE BOLETINES;
DEALLOCATE BOLETINES;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

procedimiento almacenado

Publicado por Isaias (1921 intervenciones) el 11/12/2012 20:14:17
Tienes 2 update exactamente iguales (al final), con el mismo where multasSQLNombre.expediente = @MAX_exp

¿Para que?

Podrias explicar en pseu-codigo, que deseas obtener u hacer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

procedimiento almacenado

Publicado por pit31 (5 intervenciones) el 12/12/2012 08:37:13
muchas gracias por el interes ya esta solucionado, publique dos veces el mismo post perdon, era problema de las condiciones.
saludos y gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 135
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

procedimiento almacenado

Publicado por xve (284 intervenciones) el 12/12/2012 11:19:03
Hola Pit, al final como lo solucionaste? nos lo puedes comentar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

procedimiento almacenado

Publicado por pit31 (5 intervenciones) el 12/12/2012 11:32:31
pues hice algunas modificaciones y añadi algunas variables, aqui dejo el codigo:
saludos

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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
/****** Object:  StoredProcedure [dbo].[TITULAR_INFRACTOR]    Script Date: 12/11/2012 13:16:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TITULAR_INFRACTOR] as
   declare @cont_exp int
   declare @bol varchar (15)
   declare @boletin varchar (15)
   declare @MAX_exp varchar (15)
   declare @MIN_exp varchar (15)
 
   declare @expediente varchar (15)
   declare @articulo_multas varchar (10)
   declare @fecha datetime2(7)
   declare @fecha_grabacion datetime2(7)
   declare @fecha_modif datetime2(7)
   declare @tipoVehiculo varchar (50)
   declare @matriculaVehiculo varchar(50)
   declare @marcaVehiculo varchar(50)
   declare @modeloVehiculo varchar(50)
   declare @colorVehiculo varchar(20)
   declare @codigoVia_MIN int
   declare @codigoVia_MAX int
   declare @codigoVia int
   declare @tipoVia varchar (10)
   declare @tipoVia_MIN varchar (10)
   declare @tipoVia_MAX varchar (10)
   declare @nombreVia varchar (150)
   declare @nombreVia_MIN varchar (150)
   declare @nombreVia_MAX varchar (150)
   declare @numerovia  varchar(5)
   declare @numerovia_MIN  varchar(5)
   declare @numerovia_MAX  varchar(5)
   declare @escaleravia varchar (2)
   declare @escaleravia_MIN varchar (2)
   declare @escaleravia_MAX varchar (2)
   declare @bloquevia varchar (4)
   declare @bloquevia_MIN varchar (4)
   declare @bloquevia_MAX varchar (4)
   declare @plantavia varchar (3)
   declare @plantavia_MIN varchar (3)
   declare @plantavia_MAX varchar (3)
   declare @puertavia varchar (4)
   declare @puertavia_MIN varchar (4)
   declare @puertavia_MAX varchar (4)
   declare @bisVia  varchar(1)
   declare @bisVia_MIN  varchar(1)
   declare @bisVia_MAX  varchar(1)
   declare @codigopos varchar(5)
   declare @codigopos_MIN varchar(5)
   declare @codigopos_MAX varchar(5)
   declare @codigopro varchar(2)
   declare @codigopro_MIN varchar(2)
   declare @codigopro_MAX varchar(2)
   declare @provincia varchar(200)
   declare @provincia_MAX varchar(200)
   declare @provincia_MIN varchar(200)
   declare @municipio varchar (5)
   declare @municipio_MIN varchar (5)
   declare @municipio_MAX varchar (5)
   declare @kmVia int
   declare @kmVia_MIN int
   declare @kmVia_MAX int
   declare @tasaAlcoholMedida decimal(3,2)
   declare @tasaAlcoholRectificada decimal(3,2)
   declare @velocidadLimite decimal (5,2)
   declare @velocidadMedida decimal(5,2)
   declare @velocidadRectificada decimal(5,2)
   declare @importe decimal(6,2)
   declare @bonificacion int
   declare @importeBonificado decimal (6,2)
   declare @puntosADetraer int
   declare @refPuntosADetraer varchar(4)
   declare @observaciones varchar(255)
   declare @ok varchar (1)
   declare @exp_expediente varchar (15)
   declare @entregado_agente varchar(10)
   declare @notificado varchar (1)
   declare @nif varchar (9)
   declare @nif_MIN varchar (9)
   declare @nif_MAX varchar (9)
   declare @codigomun    varchar(5)
   declare @codigomun_MIN    varchar(5)
   declare @codigomun_MAX    varchar(5)
   declare @pais varchar (150)
   declare @pais_MIN varchar (150)
   declare @pais_MAX varchar (150)
   declare @puntos int
   declare @puntos_MIN int
   declare @puntos_MAX int
   declare @suspension varchar (1)
   declare @suspension_MIN varchar (1)
   declare @suspension_MAX varchar (1)
   declare @reincidencias int
   declare @reincidencias_MIN int
   declare @reincidencias_MAX int
   DECLARE @tipoDocId_fk VARCHAR (3)
   DECLARE @tipoDocId_fk_MIN VARCHAR (3)
   DECLARE @tipoDocId_fk_MAX VARCHAR (3)
   declare @boletin_id bigint
 
   set @cont_exp =0
 
   DECLARE  BOLETINES CURSOR FOR SELECT  dbo.multasSQLNombre.boletin_id, dbo.multasSQLNombre.expediente, dbo.multasSQLNombre.boletin, dbo.multasSQLNombre.nif,  dbo.multasSQLNombre.codigovia,
    dbo.multasSQLNombre.tipovia, dbo.multasSQLNombre.nombrevia, dbo.multasSQLNombre.numerovia, dbo.multasSQLNombre.bisvia, dbo.multasSQLNombre.bloquevia,
    dbo.multasSQLNombre.escaleravia, dbo.multasSQLNombre.plantavia, dbo.multasSQLNombre.puertavia,
                      dbo.multasSQLNombre.codigopos, dbo.multasSQLNombre.codigopro, dbo.multasSQLNombre.provincia, dbo.multasSQLNombre.codigomun,
                      dbo.multasSQLNombre.municipio, dbo.multasSQLNombre.pais, dbo.multasSQLNombre.puntos, dbo.multasSQLNombre.suspension, dbo.multasSQLNombre.reincidencias, dbo.multasSQLNombre.tipoDocId_fk
FROM         dbo.multasSQLNombre  WHERE dbo.multasSQLNombre.boletin IN ('000070','000290','00018939')
   OPEN BOLETINES;
   FETCH NEXT FROM BOLETINES into @boletin_id,@expediente, @boletin,  @nif, @codigovia, @tipovia, @nombrevia, @numerovia, @bisvia, @bloquevia,
                      @escaleravia, @plantavia, @puertavia,  @codigopos, @codigopro, @provincia,
                      @codigomun, @municipio, @pais,@puntos,@suspension,@reincidencias, @tipoDocId_fk
 
-- Perform the first fetch.
-- Check @@FETCH_STATUS to see if there are any more rows to fetch.
   WHILE @@FETCH_STATUS = 0
   BEGIN
     -- This is executed as long as the previous fetch succeeds.
 
     if @suspension='S'set @suspension  = 1 else set @suspension = 0
  	 Set @cont_exp = (SELECT COUNT (*)  FROM  dbo.multasSQLNombre  WHERE boletin = @boletin)
 
 
	 if @cont_exp = 1
	   UPDATE [multas].[mul_boletin]
	   SET [titularNumDoc] = @nif
	   ,titularTipoDocId_fk =@tipoDocId_fk
      ,[titularCodigoVia] = @codigoVia
      ,[titularTipoVia] = @tipoVia
      ,[titularNombreVia] = @nombreVia
      ,[titularNumVia] = @numerovia
      ,[titularBisVia] = @bisVia
      ,[titularBloqueVia] = @bloquevia
      ,[titularEscaleraVia] = @escaleravia
      ,[titularPlantaVia] = @plantavia
      ,[titularPuertaVia] = @puertavia
      ,[titularCodigoPostal] = @codigopos
      ,[titularCodProvincia] = @codigopro
      ,[titularProvincia] = @provincia
      ,[titularCodMunicipio] = @codigomun
      ,[titularMunicipio] = @municipio
      ,[titularLocalidad] = @municipio
      ,[titularPais] = @pais
     where [multas].[mul_boletin].boletin=@boletin
 
   	  if @cont_exp > 1
   	  BEGIN
   	  set @MAX_exp = (select MAX(expediente)  from  dbo.multasSQLNombre  where boletin = @boletin)
   	  set @MIN_exp = (select MIN(expediente)  from  dbo.multasSQLNombre  where boletin = @boletin)
 
   	  set @nif_MIN = (select nif from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MIN_exp )
   	  set @nif_MAX = (select nif from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @tipoDocId_fk_MIN = (select tipoDocId_fk from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MIN_exp )
   	  set @tipoDocId_fk_MAX= (select tipoDocId_fk from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @codigoVia_MIN = (select codigoVia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MIN_exp )
   	  set @codigoVia_MAX= (select codigoVia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @tipoVia_MIN = (select tipoVia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MIN_exp )
   	  set @tipoVia_MAX= (select tipoVia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @nombreVia_MIN = (select nombreVia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MIN_exp )
   	  set @nombreVia_MAX= (select nombreVia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @numerovia_MIN = (select numerovia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MIN_exp )
   	  set @numerovia_MAX= (select numerovia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @bisVia_MAX= (select bisVia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @bisVia_MIN = (select bisVia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MIN_exp )
   	  set @bloquevia_MAX= (select bloquevia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @bloquevia_MIN = (select bloquevia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MIN_exp )
   	  set @escaleravia_MAX= (select escaleravia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @escaleravia_MIN= (select escaleravia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @plantavia_MAX= (select plantavia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @plantavia_MIN= (select plantavia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
      set @puertavia_MAX= (select puertavia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @puertavia_MIN= (select puertavia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
      set @codigopos_MAX= (select codigopos from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @codigopos_MIN= (select codigopos from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
      set @codigopro_MAX= (select codigopro from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @codigopro_MIN= (select codigopro from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
      set @provincia_MAX= (select provincia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @provincia_MIN= (select provincia from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
      set @codigomun_MAX= (select codigomun from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @codigomun_MIN= (select codigomun from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
      set @municipio_MAX= (select municipio from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @municipio_MIN= (select municipio from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
      set @pais_MAX= (select pais from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @pais_MIN= (select pais from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
      set @reincidencias_MAX= (select reincidencias from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @reincidencias_MIN= (select reincidencias from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
      set @puntos_MAX= (select puntos from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @puntos_MIN= (select puntos from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
      set @suspension_MAX= (select suspension from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
   	  set @suspension_MIN= (select suspension from  dbo.multasSQLNombre where boletin =@boletin and expediente=@MAX_exp )
  if @suspension='S'set @suspension_MAX  = 1 else set @suspension_MAX = 0
   if @suspension='S'set @suspension_MIN  = 1 else set @suspension_MIN = 0
 
 
   	     UPDATE [multas].[mul_boletin]
	   SET [titularNumDoc] = @nif_MIN
	   ,titularTipoDocId_fk= @tipoDocId_fk_MIN
      ,[titularCodigoVia] = @codigoVia_MIN
      ,[titularTipoVia] = @tipoVia_MIN
      ,[titularNombreVia] = @nombreVia_MIN
      ,[titularNumVia] = @numerovia_MIN
      ,[titularBisVia] = @bisVia_MIN
      ,[titularBloqueVia] = @bloquevia_MIN
      ,[titularEscaleraVia] = @escaleravia_MIN
      ,[titularPlantaVia] = @plantavia_MIN
      ,[titularPuertaVia] = @puertavia_MIN
      ,[titularCodigoPostal] = @codigopos_MIN
      ,[titularCodProvincia] = @codigopro_MIN
      ,[titularProvincia] = @provincia_MIN
      ,[titularCodMunicipio] = @codigomun_MIN
      ,[titularMunicipio] = @municipio_MIN
      ,[titularLocalidad] = @municipio_MIN
      ,[titularPais] = @pais_MIN
    where [multas].[mul_boletin].boletin=@boletin
 
 
 UPDATE [multas].[mul_boletin]
   SET [infractorNumDoc] = @nif_MAX
   ,infractorTipoDocId_fk=@tipoDocId_fk_MAX
      ,[infractorCodigoVia] = @codigoVia_MAX
      ,[infractorTipoVia] = @tipoVia_MAX
      ,[infractorNombreVia] = @nombreVia_MAX
      ,[infractorNumVia] = @numerovia_MAX
      ,[infractorBisVia] = @bisVia_MAX
      ,[infractorBloqueVia] = @bloquevia_MAX
      ,[infractorEscaleraVia] = @escaleravia_MAX
      ,[infractorPlantaVia] = @plantavia_MAX
      ,[infractorPuertaVia] = @puertavia_MAX
      ,[infractorCodigoPostal] = @codigopos_MAX
      ,[infractorCodProvincia] = @codigopro_MAX
      ,[infractorProvincia] = @provincia_MAX
      ,[infractorCodMunicipio] = @codigomun_MAX
      ,[infractorMunicipio] = @municipio_MAX
      ,[infractorLocalidad] = @municipio_MAX
      ,[infractorPais] = @pais_MAX
      ,[infractorReincidencias] = @reincidencias_MAX
      ,[infractorPuntos] = @puntos_MAX
      ,[infractorSuspension] = @suspension_MAX
 
      where [multas].[mul_boletin].boletin=@boletin
 
 
 UPDATE [multas].[mul_expediente]
   SET [infractorNumDoc] = @nif_MAX
      ,TipoDocId_fk=@tipoDocId_fk_MAX
      ,[infractorCodigoVia] = @codigoVia_MAX
      ,[infractorTipoVia] = @tipoVia_MAX
      ,[infractorNombreVia] = @nombreVia_MAX
      ,[infractorNumVia] = @numerovia_MAX
      ,[infractorBisVia] = @bisVia_MAX
      ,[infractorBloqueVia] = @bloquevia_MAX
      ,[infractorEscaleraVia] = @escaleravia_MAX
      ,[infractorPlantaVia] = @plantavia_MAX
      ,[infractorPuertaVia] = @puertavia_MAX
      ,[infractorCodigoPostal] = @codigopos_MAX
      ,[infractorCodProvincia] = @codigopro_MAX
      ,[infractorProvincia] = @provincia_MAX
      ,[infractorCodMunicipio] = @codigomun_MAX
      ,[infractorMunicipio] = @municipio_MAX
      ,[infractorLocalidad] = @municipio_MAX
      ,[infractorPais] = @pais_MAX
      ,[infractorReincidencias] = @reincidencias_MAX
      ,[infractorPuntos] = @puntos_MAX
      ,[infractorSuspension] = @suspension_MAX
       where multas.mul_expediente.boletin_fk= @boletin_id
 END
    FETCH NEXT FROM BOLETINES into @boletin_id,@expediente, @boletin,  @nif, @codigovia, @tipovia, @nombrevia, @numerovia, @bisvia, @bloquevia,
                      @escaleravia, @plantavia, @puertavia,  @codigopos, @codigopro, @provincia,
                      @codigomun, @municipio, @pais,@puntos,@suspension,@reincidencias, @tipoDocId_fk
END
CLOSE BOLETINES;
DEALLOCATE BOLETINES;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve
Val: 135
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

procedimiento almacenado

Publicado por xve (284 intervenciones) el 12/12/2012 15:18:37
Mil gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar