gpt4 book ai didi

MySql 存储过程的参数与影响的列同名,这可能吗?

转载 作者:可可西里 更新时间:2023-11-01 06:32:49 29 4
gpt4 key购买 nike

我有一个包含两列的序列表,名称、值,并且我有一个存储过程用于递增提供名称的值

DROP PROCEDURE IF EXISTS p_generate_sequence;
delimiter |
CREATE PROCEDURE p_generate_sequence (name VARCHAR(30))
BEGIN
START TRANSACTION;
-- Variable "name" equal to column "name", how to reference?
UPDATE sequences_table SET value = value + 1 WHERE name = name;
SELECT value FROM sequences_table WHERE name = name;
COMMIT;
END |
delimiter ;

注意这个参数叫做“name”。

是否有任何方法可以使用与受影响表的列名同名的参数?

注意:我对更改参数的名称不感兴趣,甚至对列的名称也不感兴趣,只是想知道这是否可能以及如何实现。

最佳答案

是的,用别名限定你的表列。

例如

delimiter //
create procedure foo( id int )
begin
select * from users u where u.id = id;
end
//

call foo( 123 )

返回用户 id = 123

关于MySql 存储过程的参数与影响的列同名,这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/715229/

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