mysql - 如何在不传递参数的情况下调用存储过程?

标签 mysql stored-procedures

我在 mysql 中创建了一个 SP,我将在其中传递一个 IN 参数“val”。在过程的主体部分,我使用 if else 条件和在查询的 where 条件中具有“val”的 select 语句。在其中一个选择查询中,我不想使用“val”。那么如何为不使用“val”参数的条件调用过程。提前致谢,克里希纳

最佳答案

将空值传递到您的存储过程中,让您的存储过程检测到空值并相应地执行操作。

使用空值调用存储过程:

call my_proc(null);

然后在 proc 内部,如果参数为 null,您将如何“忽略”该参数:

select ...
from ...
where ...
and (val is null or some_column = val)

关于mysql - 如何在不传递参数的情况下调用存储过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15630406/

相关文章:

mysql - 如何在 MySQL 中发现一个月中每一天的总和?

sql-server - 如何在Powershell中获取SQL存储过程的内容?

mysql - 如何从存储过程中的两列中获取总和

mysql - 存储过程中的临时表返回的值与常规查询中的值不同

mysql - 你如何调试 MySQL 存储过程?

mysql - 重复的CASE语句: Is there a more efficient way of writing this SQL statement?

php - 设置证书验证位置时出错 - PayPal IPN Listener

c# - Oracle中如何获取存储过程参数类型和大小?

mysql - Toad for MySQL 使用什么来更换皮肤?

mysql - 如何使用 GROUP BY 以便按特定列排序?