MySQl navicat::添加参数出错

标签 mysql stored-procedures parameters navicat

 CREATE DEFINER = CURRENT_USER PROCEDURE `NewProc`(IN `pName` varchar)
BEGIN
    SELECT * from ss

END;;

当我尝试使用 navicat 将此 SP 保存到 MySql Db 时,我在第 1 行遇到语法错误问题,当我删除参数时,SP 被保存了

最佳答案

您必须在参数中指定 pName 的长度。

试试这个:

DELIMITER $$

DROP PROCEDURE IF EXISTS `NewProc`$$

CREATE DEFINER = CURRENT_USER PROCEDURE `NewProc`(IN `pName` VARCHAR(100))
BEGIN
    SELECT * FROM ss;
END$$

DELIMITER ;

关于MySQl navicat::添加参数出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14090530/

相关文章:

MySQL 复制

spring-mvc - 如何自定义请求参数的分割模式

parameters - "in"D 存储类

java - Sybase 和 jdbc- Proc 返回 select 语句 - 记录无法获取

c++ - 在子类中实现继承类的方法(param=指向父的指针)(param=指向子的指针)

php - 如何验证来自数据库的多个输入?

php - 为什么 json_encode 返回空括号?

php - SQL 中的数学运算符不排除 "NA"值

mysql - 使用要在查询中使用的字符串调用存储过程

java - 无法检索我希望使用存储过程选择的值