DELIMITER // CREATE PROCEDURE myProc( IN param1 INT, IN param2 VARCHAR(50) ) BEGIN SELECT * FROM myTable WHERE col1 = param1 AND col2 = param2; END// DELIMITER ;
上面的代码定义了一个存储过程myProc
,它有两个参数param1
和param2
。接下来,大家将看到如何执行这个存储过程。
SET @param1 = 1; SET @param2 = 'value'; CALL myProc( @param1, @param2 );
上面的代码演示了如何传递参数给myProc
存储过程,大家使用SET
语句定义了两个参数变量@param1
和@param2
,然后在CALL
语句中将它们传递给存储过程。执行后,存储过程将返回所有满足条件col1 = param1 AND col2 = param2
的记录。
当然,大家也可以直接通过CALL
语句传递参数:
CALL myProc( 1, 'value' );
上面的代码直接将参数1
和'value'
传递给存储过程myProc
。
总结:执行有参数的存储过程,大家需要定义存储过程时声明参数,然后使用CALL
语句调用存储过程并传递参数。