gpt4 book ai didi

mysql - mysql存储过程的正确写法

转载 作者:行者123 更新时间:2023-11-29 23:36:21 25 4
gpt4 key购买 nike

我在mysql数据库中编写了一个存储过程,如下:

CREATE PROCEDURE sp_Test(
IN Mode VARCHAR(50),
IN UserID INT,
....
....
)
BEGIN
SET @sqlQuery = "";
IF (Mode = 'Select') THEN
//Select query
ELSEIF (Mode = 'Update') THEN
//update query
ELSEIF (Mode = 'Delete') THEN
//Delete query
END
END

根据我的需要,我可以这样调用它

CALL sp_Test("Select", 1, ...)
OR
CALL sp_Test("Update", 1, ...)
OR
CALL sp_Test("Delete", 1, ...)

性能还可以吗?或者我应该为每种模式编写单独的存储过程,例如

对于选择

CREATE PROCEDURE sp_Test_Select(
IN UserID INT,
....
....
)
BEGIN
//Select query
END

更新

CREATE PROCEDURE sp_Test_Update(
IN UserID INT,
....
....
)
BEGIN
//Select query
END

最佳答案

在我看来,这些过程的性能没有显着差异(除非您要每周 24x7 每秒使用它们数百次)。

但是可读性存在差异。这是一个显着的差异。 test_DELETE(item)test("delete", item) 更容易理解。请记住,您不仅为机器编写代码,而且为下一个将参与您的项目的人编写代码。使用第二种选择。

关于mysql - mysql存储过程的正确写法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26359814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com