使用参数和查询的MySQL存储过程

时间:2014-05-21 22:20:00

标签: mysql

我想在MySQL中使用Stored Proc,在SELECT语句的WHERE子句中,它将使用3个参数的选择

实施例

SELECT * FROM MyTable
WHERE (Postcode = @postcode
  OR StreetName = @streetname
  OR JobNumber = @jobnumber)

据我所知,如果在WHERE子句中只有1个参数,那么执行StoredProc就是CALL MyStoredProc('thevariable'),但是如果它在WHERE OR子句中有3个,我该怎么执行它?

1 个答案:

答案 0 :(得分:1)

您可以向存储过程添加多个参数。

DELIMITER $$
CREATE PROCEDURE test_procedure(post_code VARCHAR(8), street_name VARCHAR(64), job_number INT)
BEGIN

SELECT * FROM MyTable
WHERE Postcode = post_code
OR StreetName = street_name
OR JobNUmber = job_number;

END
DELIMITER ;

然后运行它,你可以像任何其他方式一样调用它,但传递所有必需的参数

CALL test_procedure('ABC123', 'Charles St', 5134);

您可以阅读有关他们的更多信息here on the MySQL documentation website