在mysql中创建一个简单的存储过程

时间:2018-06-11 23:35:11

标签: mysql stored-procedures

我尝试在mysql中创建一个简单的存储过程。在这个存储过程中,我尝试调用视图并将其分页。

delimiter // 
CREATE PROCEDURE SelectSearchResultsContract (start int, quantity int)
BEGIN
    select

        searchresultsdisplayview.CompanyName,
        searchresultsdisplayview.LastChanceDate,
        searchresultsdisplayview.PhoneNumber,
        searchresultsdisplayview.ContactName,

        searchresultsdisplayview.City,
        searchresultsdisplayview.State


    FROM searchresultsdisplayview -- this is a view
    OFFSET start
    LIMIT quantity ;
END
//
delimiter ;

由于语法的原因,我无法创建它。说我错过了一个simicolon。 我使用表创建了许多我们喜欢的东西,但视图不喜欢它。有人可以告诉我我错过了什么。

确切错误:

  

错误代码:1064。您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以获得正确的语法,以便在“开始限制数量”附近使用'在第15行

Added Picture

1 个答案:

答案 0 :(得分:0)

我通过右键单击并添加存储过程来计算出来,然后复制并粘贴它显示的sql。以下是anwser:

DELIMITER $$
USE `construction_bid_source`$$
CREATE PROCEDURE `SelectSearchResultsContract` (quantity int, start int)
BEGIN
    select

        searchresultsdisplayview.CompanyName,
        searchresultsdisplayview.LastChanceDate,
        searchresultsdisplayview.PhoneNumber,
        searchresultsdisplayview.ContactName,

        searchresultsdisplayview.City,
        searchresultsdisplayview.State


    FROM searchresultsdisplayview 
    LIMIT quantity-- this is a view
    OFFSET start;
END$$

DELIMITER ;