1193错误

ca1c2owp  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(178)

我试图创建这个过程,但有一个错误,我无法解决。它给了我
错误1193未知系统变量p\ U salida。
我在这里看过其他的主题,但是我没有发现对我有用的东西。
谢谢!

bloque: BEGIN
 -- PK / UK
DECLARE EXIT HANDLER FOR 1062
BEGIN
 ROLLBACK;
SET p_salida=-5;
END;

 -- FK
 DECLARE EXIT HANDLER FOR 1452
 BEGIN
    ROLLBACK;
    SET p_salida=-6;
 END;

 DECLARE v_Direccion int;
 DECLARE v_CodUsuario int;

 If not EXISTS (SELECT * From usuarios where Nombre = p_nombre and Apellido 
     = p_Apellido and Correo = p_correo and Contrasena=p_contrasena) THEN
    -- SET p_salida = -1;
    LEAVE bloque;
END IF;

 SELECT codDireccion into v_Direccion 
 From direcciones 
 Order by codDireccion 
 DESC LIMIT 1;

 SET v_Direccion = v_Direccion + 1;

SELECT codUsuario into v_CodUsuario 
From usuarios 
Order by codusuario
DESC LIMIT 1;

    SET v_CodUsuario = v_CodUsuario + 1;

  START TRANSACTION;

  INSERT Into direcciones (CodDireccion, CodigoPostal, Domicilio, Localidad, 
                           Provincia)
       VALUES (v_Direccion, p_CodPostal, 
              p_Domicilio,p_Localidad,p_Provincia);

    INSERT into Usuarios (Apellido, CodUsuario, Contrasena, Correo, 
                          Direccion,FechaNacimiento, nombre)
    VALUES (p_Apellido, v_CodUsuario, p_Contrasena, p_Correo, v_Direccion, 
            p_FechaNacimiento,p_nombre);

   COMMIT;
     SET p_salida = 1;

   END bloque
kxeu7u2r

kxeu7u2r1#

必须先声明变量,然后才能使用它。类似这样的内容,放在begin语句之后(或者至少在尝试使用变量之前的某个时间):

DECLARE p_salida INT DEFAULT 1;

文档:https://dev.mysql.com/doc/refman/8.0/en/declare-local-variable.html

相关问题