在 mysql 中声明是否给出语法错误? [英] Is declare in mysql giving syntax error?

查看:58
本文介绍了在 mysql 中声明是否给出语法错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 mysql 的新手,我正在尝试创建一个存储过程,但由于声明了一个变量而出现语法错误.我用的mysql版本是5.5.43,我的程序是:

I'm new to mysql and I'm trying to create a stored procedure but getting syntax error due to declare a variable. The version of mysql I'm using is 5.5.43 and my procedure is:

CREATE PROCEDURE spSearch
(
    p_ACTION INT,
    p_PROJECT_CUSTOMER INT,     
    p_PROJECT_NAME VARCHAR(50), 
    p_PROJECT_SALESPERSON INT, 
    p_PROJECT_MANAGER INT,
    p_PROJECT_PMF INT,
    p_PROJECT_TYPE INT,
    p_PROJECT_DESIGNER INT,
    p_PROJECT_AANDD INT,
    p_PROJECT_REFD INT,
    p_PROJECT_VENDOR INT,
    p_PROJECT_GENERALCONTRACTOR INT,
    p_PROJECT_PUNCHLIST varchar(1),
    p_PROJECT_LOCATION INT,
    p_PROJECT_CLIENTTYPE INT,
    p_PROJECT_INSTALLDATE VARCHAR(50),
    p_PROJECT_INSTALLDATETO VARCHAR(50),
    p_PROJECT_ORDERENTRYDATE VARCHAR(50),
    p_PROJECT_ORDERENTRYDATETO VARCHAR(50),
    p_PROJECT_MOVEINDATE VARCHAR(50),
    p_PROJECT_MOVEINDATETO VARCHAR(50),
    p_PROJECT_ACTIVE_FLAG VARCHAR(1)
)
BEGIN
    DECLARE ABC VARCHAR(1400);
END;

我收到此错误:

 #1064 - 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 28

请帮忙删除这个语法错误.

Please help to remove this syntax error.

推荐答案

您的分隔符似乎有问题.试试这个:

It seems that you have a problem with your delimiters. try this:

delimiter //

CREATE PROCEDURE spSearch
(
    p_ACTION INT,
    p_PROJECT_CUSTOMER INT,     
    p_PROJECT_NAME VARCHAR(50), 
    p_PROJECT_SALESPERSON INT, 
    p_PROJECT_MANAGER INT,
    p_PROJECT_PMF INT,
    p_PROJECT_TYPE INT,
    p_PROJECT_DESIGNER INT,
    p_PROJECT_AANDD INT,
    p_PROJECT_REFD INT,
    p_PROJECT_VENDOR INT,
    p_PROJECT_GENERALCONTRACTOR INT,
    p_PROJECT_PUNCHLIST varchar(1),
    p_PROJECT_LOCATION INT,
    p_PROJECT_CLIENTTYPE INT,
    p_PROJECT_INSTALLDATE VARCHAR(50),
    p_PROJECT_INSTALLDATETO VARCHAR(50),
    p_PROJECT_ORDERENTRYDATE VARCHAR(50),
    p_PROJECT_ORDERENTRYDATETO VARCHAR(50),
    p_PROJECT_MOVEINDATE VARCHAR(50),
    p_PROJECT_MOVEINDATETO VARCHAR(50),
    p_PROJECT_ACTIVE_FLAG VARCHAR(1)
)
BEGIN
    DECLARE ABC VARCHAR(1400);
END//

delimiter ;

这篇关于在 mysql 中声明是否给出语法错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆