mysql 创建存储过程时错误

CREATE PROCEDURE pro(IN pno INT, IN pname VARCHAR(20))BEGIN INSERT INTO t_kecheng VALUES(pno,pname);END;

如果t_kecheng只有2个字段的话,并且数据类型和存储过程输入参数一致的话,存储过程没问题。

mysql的1064错误就是语法不正确,最好给出t_kecheng的表结构,还有,你这个错误是在创建的时候报的还是怎么?

自己简单创建了个表,是没问题的,另外你注意一下:参数名最好不要跟字段名起一样的,有时会出现很多不必要的麻烦,比如如果你t_kecheng表里的字段名也叫pno和pname,那么你参数最好用v_pno或v_pname,这样区分一下。

create table t_kecheng
(pno int,
pname varchar(20))CREATE PROCEDURE pro
(IN pno INT, 
IN pname VARCHAR(20))
BEGIN 
INSERT INTO t_kecheng VALUES(pno,pname);
END;

随便输入点信息也是可以的。

追问

创建存储过程时,mysql会以;作为结尾,  è¯»å–完insert语句就结束了,但这并不是完整的存储过程,

DELIMITER $$   用于修改当前结束符为$$

温馨提示:内容为网友见解,仅供参考
无其他回答

解决方法MySQL无法创建存储过程的问题mysql不能建存储过程
解决MySQL无法创建存储过程的问题,需要在MySQL配置文件中添加配置项,具体步骤如下:Step 1. 通过以下命令查看MySQL是否已打开binary log功能:SHOW VARIABLES LIKE ‘log_bin%’;如果结果中没有“log_bin”,则说明未开启binary log功能,无需进行以下配置。Step 2. 修改 MySQL 配置文件 my...

mysql创建存储过程时出现错误
1、打开mysql的客户端管理软件,找到想要创建存储过程的数据库,在【Stored Procedures】菜单上点击鼠标右键,选择【Create Stored Procedure】菜单项。2、点击之后,右侧会出现一个存储过程编辑界面,并且会有默认的创建存储过程的基本结构。3、在CREATE PROCEDURE后面的是存储过程的名字,可以改成喜欢的任何名...

MySQL存储过程无法使用可能的原因和解决方案mysql不能用存储过程
存储过程需要参数才能执行。如果提供的参数不正确,存储过程将无法正常执行。请确保提供与存储过程定义匹配的参数。二、解决方案 1.检查权限 如果存储过程无法运行,请检查您是否有足够的权限。如果不是,请联系数据库管理员以获取必要的权限。确保在创建存储过程时指定了超级用户。2.检查语法 在创建存储过程...

mysql 存储过程提示错误!!求高人解答
begin select stu_no from student; -- 加个分号 end;-- 如果加了分号还不行的话,提示的错误应该是 错误:PLS-00428: 在此 SELECT 语句中缺少 INTO 子句 原因是单独的一个select语句在存储过程中是不应该存在的,所以应该改成select stu_no into 的模式 create procedure student()is v_stu_no...

MySQL 数据库常见报错处理
创建存储过程时,如遇到ERROR 1418,需在主从服务器上设置log_bin_trust_function_creators=1,以避免潜在的数据安全问题,除非确保函数在主从服务器上的行为一致。遇到purge gtid报错,须在设置GTID_PURGED前先清空GTID_EXECUTED,以避免混淆。Aborted connection报错可能由权限问题、密码错误、连接信息不正确或...

用Navicat连接MySQL创建存储过程时提示1304错误是为什么?r并不存在...
既然错误提示已经显示存储过程"r"已经存在,说明该存储确实是存在的。题主可以运行下列SQL语句,检视现存所有的存储过程列表:show procedure status;或者 select `name` from mysql.proc where db = 'database_name' and `type` = 'PROCEDURE';应该可以看到存储过程"r",除非您不是数据库管理员或权限...

为什么MYSQL的储存语句出现这样的错误
你看看你的会不会是latin1, 如果是的话两种方案 改数据库字符集, 通用些utf8或者支持emjio的utf8mb4, 重启mysql服务再重连试验 建立的每个存储过程手动指定字符集 如:create procedure delete_employees(in xm char(6) CHARSET utf8 COLLATE utf8_bin) ...这样再试试 ...

mysql存储过程出错
如果你要插入的proId,1,typeId,proName,proStock,proPrice,proPic,proRemarks,proDescribe是值需要单引号。你可以尝试一下。insert into tb_product_info(pro_id,status_id,type_id,pro_name,pro_stock,pro_price,pro_pic,pro_remarks,pro_describe)values('proId',1,'typeId','proName','pro...

MySql建立存储过程中遇到如下错误:ERROR 1064 (42000):
是你sql语句写错了,见到1064错误就是你的sql语句有语法错误

mysql建立存储过程出错
CREATE PROCEDURE p_dir_info (in user varchar(20), in parent_path varchar(255))BEGIN select * from (select d.user, d.path , d.parent_path, d.dir, d.create_time ,(case isnull(sum(f.count)) when true then 0 else sum(f.count) end) as count,(case isnull(sum(f....

相似回答