存储过程动态 WHERE 条件 SQL

Stored Procedure Dynamic WHERE Condition SQL

我不是存储过程方面的专家,但我想知道是否可以向游标添加动态 where 条件。在询问之前我已经环顾四周,但似乎没有什么能满足我的需求,或者也许我可以得到它。 我有两个存储过程,一个调用另一个。第一个存储过程调用第二个存储过程并传递一个名为 dynamic_sql_condition.

的内置动态 SQL 字符串 ("And firstname NOT LIKE blah bla...")

这是第二个存储过程的一部分:

declare resources cursor for select name from people where firstname = firstname {dynamic_sql_condition goes here} group by lastname;

您可以尝试使用准备好的语句,如下所示:

PREPARE stmt1 FROM 'select name from people where firstname = firstname {dynamic_sql_condition goes here} group by lastname';
EXECUTE stmt1;

您可以调整它以与您的光标一起使用。更多信息:https://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html