我正试图在MySQL中创建一个存储过程,但我一直收到错误消息
#1064年的今天,您的SQL语法出现错误;查看与您的MariaDB服务器版本对应的手册,以了解第1行“DELIMITER”附近使用的正确语法
预期分隔符。(在位置10的“”附近)
我做错了什么?编辑:去掉错误后,现在我的程序只是插入空值,知道为什么吗?
DELIMITER //
CREATE PROCEDURE sp_TEXT4()
BEGIN
DECLARE refstock VARCHAR(20);
DECLARE frkmarca INT ;
DECLARE frkallextras INT ;
DECLARE frkeconservacao INT ;
DECLARE frkallcategorias INT ;
DECLARE modelo VARCHAR(45);
DECLARE titulo VARCHAR(45);
DECLARE ano INT;
DECLARE mes INT;
DECLARE horas INT;
DECLARE obs TEXT;
DECLARE preco DOUBLE;
DECLARE minpreco DOUBLE;
DECLARE negociavel BINARY(1);
DECLARE youtube VARCHAR(45);
SET refstock="refstock";
SET frkmarca=1;
SET frkallextras=1;
SET frkeconservacao=1;
SET frkallcategorias=1;
SET modelo ="modelo";
SET titulo="titulo";
SET ano=1;
SET mes=1;
SET horas=1;
SET obs="obs";
SET preco="1";
SET minpreco="1";
SET negociavel=true;
SET youtube="youtube";
INSERT INTO anuncios (refstock,frkmarca,frkallextras,frkeconservacao,frkallcategorias,modelo,titulo,ano,mes,horas,obs,preco,minpreco,negociavel,youtube)
VALUES (@refstock,@frkmarca,@frkallextras,@frkeconservacao,@frkallcategorias,@modelo,@titulo,@ano,@mes,@horas,@obs,@preco,@minpreco,@negociavel,@youtube);
END;
//
DELIMITER;
DELIMITER $$
CREATE DEFINER=`id1278863_root`@`%` PROCEDURE `sp_TEXT5`()
BEGIN
DECLARE refstock VARCHAR(20);
DECLARE frkmarca INT ;
DECLARE frkeconservacao INT ;
DECLARE frkallcategorias INT ;
DECLARE modelo VARCHAR(45);
DECLARE titulo VARCHAR(45);
DECLARE ano INT;
DECLARE mes INT;
DECLARE horas INT;
DECLARE obs TEXT;
DECLARE preco DOUBLE;
DECLARE minpreco DOUBLE;
DECLARE negociavel BINARY(1);
DECLARE youtube VARCHAR(45);
SET @refstock="refstock";
SET @frkmarca=1;
SET @frkeconservacao=1;
SET @frkallcategorias=1;
SET @modelo ="modelo";
SET @titulo="titulo";
SET @ano=1;
SET @mes=1;
SET @horas=1;
SET @obs="obs";
SET @preco="1";
SET @minpreco="1";
SET @negociavel=true;
SET @youtube="youtube";
INSERT INTO anuncios (refstock,frkmarca,frkeconservacao,frkallcategorias,modelo,titulo,ano,mes,horas,obs,preco,minpreco,negociavel,youtube)
VALUES (@refstock,@frkmarca,@frkeconservacao,@frkallcategorias,@modelo,@titulo,@ano,@mes,@dia,@obs,@preco,@minpreco,@negociavel,@youtube);
END$$
DELIMITER ;
现在起作用了谢谢
分隔符
和分隔符之间需要空格:
DELIMITER ;
我想使用phpmyadmin在MySQL数据库中进行存储过程。 几分钟后,我在“创建过程”对话框中键入并按下GO,我的语法出现了错误。 我在谷歌上搜索过哪一个是错的,但仍然没有找到。请任何人给我一些建议如何解决这个问题。 这是我的MySQL存储过程查询。 我有这样的错误 处理您的请求: 以下查询失败:"CREATE DEFINER=@PROCEDURE(INBIT(1), ININT, INDAT
MySQL 存储过程是一些 SQL 语句的集合,比如有时候我们可能需要一大串的 SQL 语句,或者说在编写 SQL 语句的过程中需要设置一些变量的值,这个时候我们就完全有必要编写一个存储过程。 编写存储过程并不是件简单的事情,但是使用存储过程可以简化操作,且减少冗余的操作步骤,同时,还可以减少操作过程中的失误,提高效率,因此应该尽可能的学会使用存储过程。 下面主要介绍如何创建存储过程。 可以使用
为了解决MySql中的问题,即某些语句只允许在我试图创建的存储过程中运行,然后在JdbcTem板提交的sql中删除存储过程。一个简单的例子是(这恰好是在Spring引导中): cript.sql在哪里 在mySql workbench中运行它可以很好地工作,但是由JdbcTemplate提交时会出现错误 据我所知,这是因为JdbcTemplate不允许使用那些
问题内容: 这让我发疯。 还给我 那将是线 怎么了 我尝试了一些小的更改,但总是收到相同的错误。我检查了文档,但看不到语法错误。我知道这是一个愚蠢的错误,但是我坚持了大约半个小时。是一个游标,它迭代每一行并为每一行执行一个存储过程;我已经用存储函数完成了它(它的工作原理很像魅力),但是在服务器上发布时,我看到我的共享主机不支持存储函数,只支持存储过程:(因此,这是我最好的方法我发现了。 问题答案:
我试图在MariaDB 10.2中创建一个简单的过程,但遇到了有关变量定义的问题。 我收到(conn:107)您的SQL语法有错误;查看与您的MariaDB服务器版本对应的手册,了解在我声明变量时,在第3行消息的“”附近使用的正确语法。 我读了MariaDB留档,它说一个变量是这样定义的DECLAREvar_name[,var_name]... type[DEFAULT value] 我错在哪里?
我试图创建一个存储过程,但不断出现错误: #1064年的今天,您的SQL语法出现错误;查看与您的MySQL服务器版本对应的手册,以了解第3行“NOT DETERMINISTIC CONTAINS SQL SECURITY DEFINER COMMENT”“B”附近使用的正确语法 我的SQL如下: 我尝试过包含分隔符,但没有结果。我想问题可能出在引号里。有人能给我指出解决办法吗?谢谢 MySQL 5