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 存储过程实例 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存储过程是数据库管理系统中的一种重要功能,它允许程序员或数据库管理员预编译一系列SQL语句,形成一个可重用的程序单元。在本场景中,我们关注的是如何利用存储过程进行数据库的备份与还原,这在数据管理中至...

    MySQL错误代码查询

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

    mysql常用错误提示代码详解

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

    mysql存储过程之返回多个值的方法示例

    本文实例讲述了mysql存储过程之返回多个值的方法。分享给大家供大家参考,具体如下: mysql存储函数只返回一个值。要开发返回多个值的存储过程,需要使用带有INOUT或OUT参数的存储过程。咱们先来看一个orders表它的...

    MYSQL存储过程教程

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

    MySql错误代码中文说明

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

    Mysql存储过程常用语句模板

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

    c++实现调mysql存储过程

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

    \MySQL 5.0 存储过程.pdf

    根据提供的文档信息,本文将深入解析《MySQL 5.0 存储过程》这一主题,重点探讨存储过程的概念、特点以及在 MySQL 5.0 中的应用。存储过程是数据库管理系统中一项重要的功能,它允许开发者编写可重用的 SQL 代码块,...

Global site tag (gtag.js) - Google Analytics