
¿Cómo hago referencia a un parámetro que se llama igual que un registro?
Publicado por Jorge (1 intervención) el 08/05/2016 18:40:58
Quiero pasar de una tabla a otra en caso de que el registro que se quiere insertar esté en la otra, pero no logro averigüar qué falla.
Aquí dejo el código del error:
Creo que es porque no hace referencia bien al parámetro dni, ¿cómo se debe hacer?
1
2
3
4
5
6
7
8
9
10
11
12
13
DELIMITER //
CREATE PROCEDURE darDeAltaDemandante(dni CHAR(9), nombre VARCHAR(40), apellido1 VARCHAR(40), apellido2 VARCHAR(40), direccion VARCHAR(100), email VARCHAR(320), fechaNacimiento DATE, consideraciones VARCHAR(100))
BEGIN
DECLARE existsUser;
SELECT COUNT(*) FROM antiguosDemandantes WHERE antiguosDemandantes.dni = dni INTO existsUser;
IF existsUser = 0 THEN
INSERT INTO demandantes(`dni`, `nombre`, `apellido1`, `apellido2`, `direccion`, `email`, `fechaNacimiento`, `consideraciones`) VALUES(dni, nombre, apellido1, apellido2, direccion, email, fechaNacimiento);
ELSE
INSERT INTO demandantes SELECT dni, nombre, apellido1, apellido2, direccion, email, fechaNacimiento, consideraciones FROM antiguosDemandantes;
DELETE FROM antiguosDemandantes WHERE antiguosDemandantes.dni = dni;
END IF;
END; //
DELIMITER ;
Aquí dejo el código del error:
1
2
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ';
SELECT COUNT(*) FROM antiguosDemandantes WHERE antiguosDemandantes.dni = d' at line 3
Creo que es porque no hace referencia bien al parámetro dni, ¿cómo se debe hacer?
Valora esta pregunta


0