解决方案 »
- 配置mysql最后一步无法启动服务
- 这个问题解决不了,就要抛弃MYSQL 在项目中使用了
- mysql 删除数据问题
- 存储过程游标最后一次总是重复执行2次,其他正常
- 一个用于先select出id,再根据id进行update的语句,出错了
- 我用front连mysql连不上。。。 稍后给分
- [mysqld-5.0.1-alpha-nt]string data,right truncated报错是什么原因引起来的?
- MySQL for EXCEL 加载不了
- 设计动态行转列,拼接SQL语句ed查询
- mysql-5.7.26-winx64下载和安装教程
- MySQL忘记密码了···
- Ubuntu 10.1安装Sql5.5.21的问题
此信息也是提示我们传入的参数不对,*.*的存储过程参数为输出(或输入)参数,而我们可能传入相反的参数,例如要求为输出参数,而我们传入的参数非会话变量,即会报此错。
例:
CALL p13(a); -- 或者CALL p13(0);
提示信息:
[Err] 1414 - OUT or INOUT argument 1 for routine test.p13 is not a variable or NEW pseudo-variable in BEFORE trigger
改正:
CALL p13(@a);
SELECT @a;
是否call调用参数的时候有问题。
CREATE PROCEDURE `up_MCon_Ins`(
IN SCern_VarC varchar(800),
IN Id_Int Int,
IN ChlNo_Int Int,
IN UsName_VarC varchar(800) ,
OUT ReturnValues_Int INT
)
PROC:
BEGINDECLARE IsExists_Int INT;DECLARE EXIT HANDLER FOR SQLSTATE'23000'
BEGIN
SET ReturnValues_Int = 1;
ROLLBACK;
END;SET AUTOCOMMIT = 0;
START TRANSACTION;SET ReturnValues_Int = 0;SELECT COUNT(1) INTO IsExists_Int FROM E_TerInfo WHERE TI_Id_Int = Id_Int ;
IF IsExists_Int = 0 THEN
SET ReturnValues_Int = 2;
ROLLBACK;
LEAVE PROC;
END IF; SELECT COUNT(1) INTO IsExists_Int FROM MCon WHERE MC_SCern_VarC = SCern_VarC;
IF IsExists_Int = 0 THEN
SET ReturnValues_Int = 2;
ROLLBACK;
LEAVE PROC;
END IF; INSERT INTO MCon(MC_SCern_VarC,MC_TI_Id_Int,MC_ChlNo_Int,MC_UsName_VarC)
VALUES(SCern_VarC,TI_Id_Int,ChlNo_Int,UsName_VarC);COMMIT;END PROC $$DELIMITER ;能执行,逻辑可能有问题!