0 0

mysql中建存储过程,总是提示如下问题,代码及错误提示如下,不知道哪里错了5

create procedure BookID_Generate(in_ISBN  char(18),count int,firstID  char(10))
begin
while count > 0 do
insert into tblend values(firstID,in_ISBN,'否');
set firstID=firstID+1;
set count=count-1;
end while;
end;

这里in_ISBN, count,firstID三个都是要输入的变量,前面加in同样也报错

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near '' at line 4
mysql>          set firstID=firstID+1;
ERROR 1193 (HY000): Unknown system variable 'firstID'
mysql>          set count=count-1;
ERROR 1193 (HY000): Unknown system variable 'count'
mysql>  end while;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near 'end while' at line 1
mysql> end;

问题补充:我现在在公司,没有装mysql,请问您试过吗??要不我只能晚上回去再试了,谢谢回答!
zyn010101 写道
试试下面的:
create procedure BookID_Generate(in_ISBN  varchar(18),count int,firstID  int)
begin
while count > 0 do
insert into tblend values(firstID,in_ISBN,'否');
set firstID=firstID+1;
set count=count-1;
end while;
end;



问题补充:已经改了,但是依然是这个错误
mysql> create procedure BookID_Generate(in_ISBN  varchar(18),count int,firstID  int)
    -> begin
    -> while count > 0 do
    -> insert into tblend values(firstID,in_ISBN,'否');
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near '' at line 4
mysql> set firstID=firstID+1;
ERROR 1193 (HY000): Unknown system variable 'firstID'
mysql> set count=count-1;
ERROR 1193 (HY000): Unknown system variable 'count'
mysql> end while;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near 'end while' at line 1
mysql> end;

zyn010101 写道
可以运行的,你把char类型加个整数1,类型转换错误,就报异常了,存储过程字符用varchar类型的比较多一些。


问题补充:我是直接在命令提示符下写的,刚才问了我的一个老师,他跟我说了,答案如下:

mysql的存储过程 你写的没有错 只是少了修改结束标记了
在mysql中默认的一句话的结束时;,而这与procedure中分号冲突了,
所以先要修改结束符号 比如:delimiter $ 是将结束标记改为$ ,以后遇到$才是一句话的结束,这样 你的procedure中的结束标记;就不会报错了
总结:加上一句话 dilimiter 符号

zyn010101 写道
你在什么地方执行的?我的脚步是在navicat的查询中执行通过的。


问题补充:虽然是这样,分给你了...
zyn010101 写道
你在什么地方执行的?我的脚步是在navicat的查询中执行通过的。

3个答案 按时间排序 按投票排序

0 0

采纳的答案

你在什么地方执行的?我的脚步是在navicat的查询中执行通过的。

2012年4月16日 23:30
0 0

可以运行的,你把char类型加个整数1,类型转换错误,就报异常了,存储过程字符用varchar类型的比较多一些。

2012年4月16日 09:10
0 0

试试下面的:
create procedure BookID_Generate(in_ISBN  varchar(18),count int,firstID  int)
begin
while count > 0 do
insert into tblend values(firstID,in_ISBN,'否');
set firstID=firstID+1;
set count=count-1;
end while;
end;

2012年4月16日 08:54

相关推荐

    MySQL存储过程的异常处理方法

    本实例展示了如何在MySQL存储过程中实现异常处理,以捕获并处理可能出现的错误。 首先,我们注意到在创建存储过程`myProc`时,使用了`delimiter $$`来改变MySQL客户端的语句分隔符,这是为了在存储过程中使用多个...

    MySql 分页存储过程以及代码调用

    本篇文章将深入探讨MySQL中的分页存储过程及其代码调用方法。 首先,理解分页的基本概念。在网页或应用程序中,我们通常会看到“上一页”、“下一页”这样的导航,这就是分页的表现形式。分页查询通过设置每页显示...

    mysql存储过程教程

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列SQL语句并封装成一个可重复使用的单元,从而提高数据处理的效率和代码的复用性。本教程将深入探讨MySQL存储过程的创建、调用以及相关概念...

    MySQL存储过程完整版使用代码示例

    资源包中囊括了MySQL数据库中的存储过程的...该资源下所有内容都是本人的日常软件开发经验总结,对于初学者使用MySQL存储过程的程序员具有重要参考价值,问大家要10分是不过分的,用过就知道了,欢迎大家下载参考及使用

    Mysql导出存储过程

    #### 二、MySQL存储过程的基本概念 在了解如何导出存储过程之前,我们先来简要回顾一下存储过程的一些基本概念: - **定义**:存储过程是一组预编译的SQL语句,可以接受输入参数,返回输出参数或结果集,并且可以在...

    mysql存储过程实例

    MySQL 存储过程实例 MySQL 存储过程实例详细介绍了 MySQL 存储过程的开发步骤,本节将通过具体的实例讲解 PHP 是如何操纵 MySQL 存储过程的。 创建存储过程 存储过程的创建是 MySQL 存储过程的基础,MySQL 5.0 ...

    MySQL存储过程学习

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列的SQL语句,形成一个可重复使用的代码块,以提高数据处理的效率和应用程序的性能。在这个"MySQL存储过程学习"的主题中,我们将深入探讨...

    mysql存储过程调试工具

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者编写一系列复杂的SQL语句,并作为一个单元进行执行,提高代码复用性和效率。然而,与普通的编程语言一样,存储过程的调试同样至关重要,因为错误的存储...

    mysql经典教程+mysql存储过程讲解

    本教程结合"mysql经典教程+mysql存储过程讲解"的主题,将深入探讨MySQL的基础知识以及核心特性——存储过程。 首先,我们需要理解什么是数据库。数据库是一个组织和存储数据的系统,允许用户以结构化方式访问和管理...

    Java调用Mysql存储过程

    在Java编程中,调用MySQL存储过程是一种常见的数据库交互方式,尤其在处理复杂业务逻辑或大量数据操作时。本文将详细讲解如何通过Java来执行MySQL的存储过程。 首先,了解存储过程的基本概念。存储过程是预编译在...

    MySQL错误代码查询

    在使用MySQL的过程中,难免会遇到各种错误,这些错误通常会以错误代码的形式呈现,帮助开发者定位问题所在。本篇文章将详细探讨MySQL错误代码及其含义,帮助你更好地理解和解决遇到的问题。 首先,MySQL错误代码是...

    mysql常用错误提示代码详解

    mysql常用错误提示代码详解,方便查看对应错误

    MYSQL存储过程教程

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预定义一组SQL语句,并将其封装成一个可重复使用的单元。这个教程将深入讲解如何在MySQL中创建、调用和管理存储过程,以及它们在实际应用中的价值。 ...

    MySql错误代码中文说明

    MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,其在日常使用中可能会遇到各种错误,这些错误通常会以特定的错误代码形式出现。错误代码是MySQL系统用来标识问题类型的标识符,帮助用户理解并解决遇到的问题...

    Mysql5存储过程中文详解

    从给定的文件信息来看,文章主要探讨的是MySQL5.0版本中新引入的存储过程功能。存储过程在数据库管理系统中扮演着重要的角色,它允许开发者编写可重用的代码块,这些代码块可以执行一系列复杂的数据库操作。在MySQL...

    Mysql存储过程常用语句模板

    Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三...

    [MySQL] 存储过程错误异常处理例子

    总结来说,`DECLARE EXIT HANDLER FOR SQLEXCEPTION`是MySQL存储过程中处理错误和异常的关键工具。它使得我们能够优雅地处理可能出现的问题,确保即使在异常情况下,程序也能按照预定的方式进行操作,从而提升整个...

    c++实现调mysql存储过程

    c++实现调mysql存储过程,实现存储过程的出参入参,可以支持查询多数据返回,还有存储过程的复杂数据的增删改等

Global site tag (gtag.js) - Google Analytics