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

标签 mysql stored-procedures

我正在尝试在 mysql 中创建一个简单的存储过程,在这个存储过程中我试图调用一个 View 并对其进行分页。

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 ;

由于语法原因,我无法创建它。说我缺少一个符号。 我使用表格创建了许多我们喜欢的东西,但 View 不喜欢它。有人可以告诉我我缺少什么吗?

确切错误:

Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'start LIMIT quantity' at line 15

Added Picture

最佳答案

我通过右键单击并添加存储过程然后复制并粘贴它显示的 SQL 来解决这个问题。以下是答案:

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 ;

关于mysql - 在mysql中创建一个简单的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50807419/

相关文章:

mysql - 错误 1064 : SQL syntax

mysql - 表别名在嵌套子查询中未知

php - 如何使用 Group By 对数据库表进行分组

MySQL - 使用行中字段的 MAX 或 GREATEST 值更新列(不包括 NULL)

php - mysql的消息框设计

Java 存储过程在 Oracle 数据库中不返回任何内容

sql-server - 将字符串参数从 SQL Server 传递到链接的 Oracle Server 过程

mysql - MySQL phpmyadmin 中的程序

mysql - 是否可以从 MySQL 的事务回滚中排除某些查询/过程?

mysql - 如何将columnName及其值动态添加到MYSQL表中