当前位置: 首页 > 知识库问答 >
问题:

创建过程错误

邵俊才
2023-03-14
CREATE PROCEDURE search
@id INT

AS
BEGIN
SET NO COUNT ON;
SELECT  cteachID,
        cfname,
        cmname,
        clname
FROM tbl_teacher
WHERE cteachID = @id
END

MySQL说:文档

1064年的今天,您的SQL语法出现错误;查看与您的MariaDB服务器版本对应的手册,了解第2行“@id INT AS BEGIN SET NO COUNT ON”附近使用的正确语法

共有2个答案

隆宏爽
2023-03-14

你的代码是为sql服务器工作的。对于mysql,存储过程的语法有一些不同

    DROP PROCEDURE IF EXISTS search;

    DELIMITER $$
    CREATE PROCEDURE search(IN id INT)
    BEGIN
        SELECT  cteachID,
                cfname,
                cmname,
                clname
                    FROM tbl_teacher
                    WHERE cteachID = id;
    END$$

    DELIMITER;
滕渝
2023-03-14

您可以在此处找到有关存储过程的MariaDB文档:https://mariadb.com/kb/en/library/create-procedure/

DELIMITER //

CREATE PROCEDURE search
(IN id INT)
BEGIN

    SELECT  cteachID,
            cfname,
            cmname,
            clname
    FROM tbl_teacher
    WHERE cteachID = id;

END;
//

DELIMITER ;

除此之外,您还需要使用delimiter关键字,因为您的创建过程使用开始/结束块。

  • https://mariadb.com/kb/en/library/stored-procedure-overview/
 类似资料:
  • 我试图创建一个存储过程,但不断出现错误: #1064年的今天,您的SQL语法出现错误;查看与您的MySQL服务器版本对应的手册,以了解第3行“NOT DETERMINISTIC CONTAINS SQL SECURITY DEFINER COMMENT”“B”附近使用的正确语法 我的SQL如下: 我尝试过包含分隔符,但没有结果。我想问题可能出在引号里。有人能给我指出解决办法吗?谢谢 MySQL 5

  • 问题内容: 这让我发疯。 还给我 那将是线 怎么了 我尝试了一些小的更改,但总是收到相同的错误。我检查了文档,但看不到语法错误。我知道这是一个愚蠢的错误,但是我坚持了大约半个小时。是一个游标,它迭代每一行并为每一行执行一个存储过程;我已经用存储函数完成了它(它的工作原理很像魅力),但是在服务器上发布时,我看到我的共享主机不支持存储函数,只支持存储过程:(因此,这是我最好的方法我发现了。 问题答案:

  • 我想使用phpmyadmin在MySQL数据库中进行存储过程。 几分钟后,我在“创建过程”对话框中键入并按下GO,我的语法出现了错误。 我在谷歌上搜索过哪一个是错的,但仍然没有找到。请任何人给我一些建议如何解决这个问题。 这是我的MySQL存储过程查询。 我有这样的错误 处理您的请求: 以下查询失败:"CREATE DEFINER=@PROCEDURE(INBIT(1), ININT, INDAT

  • 我试图在MariaDB 10.2中创建一个简单的过程,但遇到了有关变量定义的问题。 我收到(conn:107)您的SQL语法有错误;查看与您的MariaDB服务器版本对应的手册,了解在我声明变量时,在第3行消息的“”附近使用的正确语法。 我读了MariaDB留档,它说一个变量是这样定义的DECLAREvar_name[,var_name]... type[DEFAULT value] 我错在哪里?

  • MySQL 存储过程是一些 SQL 语句的集合,比如有时候我们可能需要一大串的 SQL 语句,或者说在编写 SQL 语句的过程中需要设置一些变量的值,这个时候我们就完全有必要编写一个存储过程。 编写存储过程并不是件简单的事情,但是使用存储过程可以简化操作,且减少冗余的操作步骤,同时,还可以减少操作过程中的失误,提高效率,因此应该尽可能的学会使用存储过程。 下面主要介绍如何创建存储过程。 可以使用

  • 本文向大家介绍Erlang语言创建过程,包括了Erlang语言创建过程的使用技巧和注意事项,需要的朋友参考一下 示例 我们通过调用spawn函数来创建一个新的并发进程。该spawn函数将获得Fun该过程将评估的函数作为参数。该spawn函数的返回值是创建的进程标识符(pid)。 您还可以spawn/3用来启动一个流程,该流程将从模块执行特定功能:spawn(Module, Function, Ar