MySQL - Error 1050 durante un insert dentro de procedimiento

 
Vista:
sin imagen de perfil

Error 1050 durante un insert dentro de procedimiento

Publicado por Florencio (1 intervención) el 03/04/2020 22:53:18
Buenas...

me tira el siguiente error

Error Code: 1050
Table 'matricula_evolucion_interanual' already exists

Es verdad que l atabla existe y contiene un registro, pero yo intento hacer un insert...no un create table

Si corro el insert como un query separado, funciona. Dentro del procedure no funciona

QUERY: (esto funciona)

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
INSERT INTO `sig_data`.`matricula_evolucion_interanual`
	( `Anio`, `Matricula`, `Matricula2`, `Personas_fisicas`, `Comisiones`, `Cursos`,  `Sedes` )
SELECT .... campos
  FROM ...tabla
 WHERE ...condiciones
;
 
PROCEDURE (esto no funciona)
 
DELIMITER $$
CREATE OR REPLACE PROCEDURE `gofla`.`p_InsertarMatriculaEvolucionInteranual_sin_iterador`
(
 IN DBOrigen VARCHAR(255),IN DBDestino VARCHAR(255),IN TDestino VARCHAR(255),IN ano INT(4)
)
BEGIN
  DECLARE DBaseOrigen VARCHAR(255);
  DECLARE DBaseDestino VARCHAR(255);
  DECLARE TablaDestino VARCHAR(255);
  DECLARE anio BIGINT DEFAULT 2015;
  --
  SET DBaseOrigen = DBOrigen;
  SET DBaseDestino = DBDestino;
  SET TablaDestino = TDestino;
  SET anio = ano;
 
SET @consulta = CONCAT('
INSERT INTO `',DBaseDestino,'`.`',TablaDestino,'`
	( `Anio`, `Matricula`, `Matricula2`, `Personas_fisicas`, `Comisiones`, `Cursos`,  `Sedes` )
SELECT .....campos
  FROM ...tabla
 WHERE ....condiciones
;
')
;
--
PREPARE sent FROM @cons; EXECUTE sent; DEALLOCATE PREPARE sent;
 
END$$
DELIMITER ;
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