Bases de Datos - recorrer tabla e insertar en otra

 
Vista:
sin imagen de perfil

recorrer tabla e insertar en otra

Publicado por Nelsire (1 intervención) el 05/09/2018 03:00:56
Buenas, primera vez que realizo un store procedure. Debo leer los campos de una tabla y comparar si se repiten o no, si se repiten agregar el mismo, sino agregar + 1, según el resultado debo inserta en otras tabla el valor que debo generar:

tabla carnet

id numero_carnet
1 21
2 21
3 22
4 23

Debo generarlo en otra tabla en el campo numero_expediente, debería quedar así

id numero_expediente
1 1
2 1
3 2
4 3


tengo esto, pero da ERROR.

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
declare
 
	--@return_value int,
 	@id int,
 	@numero_carnet  int,
	@numero_carnet_comparar  int,
	@EXPE_vNRO_EXPEDIENTE varchar(15),
	@contador int
 
 
declare cursor_expediente cursor -- declarar cursor
 
	for SELECT id, numero_carnet from tabla_temporal_prueba
		WHERE numero_carnet > 0
		ORDER BY numero_carnet
 
--inicializar contador
SET @contador=1
 
-- se abre el cursor
 
Open cursor_expediente
 
  fetch next from cursor_expediente into @id, @numero_carnet --toma el primer registro y cada vuelta toma el siguiente
 
while @@fetch_status = 0
 
 
BEGIN
 
SELECT @numero_carnet_comparar= 'SELECT MAX(numero_carnet)' FROM tabla_temporal_prueba
 
	IF(@numero_carnet_comparar IS NULL) SET @numero_carnet_COMPARAR=0;
 
	IF(@numero_carnet_comparar!=@numero_carnet) @EXPE_vNRO_EXPEDIENTE=@EXPE_vNRO_EXPEDIENTE+1
	--IF(@numero_carnet_COMPARAR=@numero_carnet) @EXPE_vNRO_EXPEDIENTE=@EXPE_vNRO_EXPEDIENTE
 
INSERT INTO temporal_expediente
 
	(id,EXPE_vNRO_EXPEDIENTE)
 
 
 value
 
	(@id,
	@EXPE_vNRO_EXPEDIENTE)
 
END

NECESITO ESTO URGENTE HELP ME PLEASE!!!!
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