使用 IF 逻辑在存储过程中调用存储过程?

2023年 8月 29日 34.6k 0

使用 IF 逻辑在存储过程中调用存储过程?

要在存储过程中调用存储过程,语法如下 -

If yourInputValue > 100 then
call yourProcedureName1();
else
call yourProcedureName2();
end If ;
END

登录后复制

让我们实现上面的语法。为了实现上述概念,让我们创建一个存储过程 -

mysql> delimiter //
mysql> create procedure Hello_Stored_Procedure()
-> BEGIN
-> select 'Hello World!!!';
-> END
-> //
Query OK, 0 rows affected (0.18 sec)

登录后复制

创建第二个存储过程的查询如下 -

mysql> create procedure Hi_Stored_Procedure()
-> BEGIN
-> select 'Hi!!!';
-> END
-> //
Query OK, 0 rows affected (0.17 sec)

登录后复制

这里是使用 IF 逻辑在存储过程中调用存储过程的查询 -

mysql> DELIMITER //
mysql> create procedure test(IN input int)
-> BEGIN
-> If input > 100 then
-> call Hello_Stored_Procedure();
-> else
-> call Hi_Stored_Procedure();
-> end If ;
-> END
-> //
Query OK, 0 rows affected (0.18 sec)

登录后复制

现在您可以借助 call 来调用存储过程 -

mysql> delimiter ;
mysql> call test(110);

登录后复制

这将产生以下输出 -

+----------------+
| Hello World!!! |
+----------------+
| Hello World!!! |
+----------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.02 sec)

登录后复制

以上就是使用 IF 逻辑在存储过程中调用存储过程?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论