首页 > 解决方案 > MySQL过程无法识别参数

问题描述

我习惯于 MSSQL,而不是 MySQL,所以希望这是一个明显的解决方法,但我已经在这里查看了很多问题和手册等,但不明白为什么我会收到这个错误......

我写了一个不工作的复杂程序;我已将问题与我如何传递参数隔离开来。我已经在一个小的虚拟程序中复制了我的问题(如下):

DELIMITER//
CREATE PROCEDURE testProcedure(IN startSite CHAR(2), IN endSite CHAR(2))

    SELECT * FROM sys_sites WHERE ssi_uid = startSite;
    SELECT * FROM sys_sites WHERE ssi_uid = endSite;

END
//
DELIMITER;

当我执行此操作时,我收到以下错误:

CREATE PROCEDURE testProcedure(IN startSite CHAR(2), IN endSite CHAR(2))

选择 * 从 sys_sites 那里 ssi_uid = startSite; 选择 * 从 sys_sites WHERE ssi_uid = endSite; 结尾

1054 - 'where 子句'中的未知列'endSite' 时间:0s

请 - 谁能告诉我这里缺少什么明显的东西?

标签: mysqltsqlstored-procedures

解决方案


DELIMITER//
CREATE PROCEDURE testProcedure(IN startSite CHAR(2), IN endSite CHAR(2))
BEGIN
    SELECT * FROM sys_sites WHERE ssi_uid = startSite;
    SELECT * FROM sys_sites WHERE ssi_uid = endSite;

END
//
DELIMITER;

你错过了现在开始尝试看看。


推荐阅读