我想在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个,我该怎么执行它?
答案 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。