gpt4 book ai didi

MySQL存储过程@语法错误

转载 作者:太空宇宙 更新时间:2023-11-03 10:57:00 25 4
gpt4 key购买 nike

我希望能够给存储过程传递参数,所以在网上搜索了一下,遇到了这样的事情:

DELIMITER $$
CREATE PROCEDURE addTmpUser
@id varchar(10)
AS
BEGIN
//some sql code
END$$

DELIMITER ;

问题是我遇到了 @ 字符的语法错误。

注意:我使用的是 MySQL 数据库。

最佳答案

您正在混合变量类型。
@variable 是一个范围为整个连接的用户变量。
存储过程中的变量看起来不同,它们前面没有@。

此外,您需要声明它们。这是一个例子

DELIMITER $$
CREATE PROCEDURE addTmpUser(p_id varchar(10))
-- the variable is named p_id as a nameing convention.
-- It is easy for variables to be mixed up with column names otherwise.
BEGIN
DECLARE innerVariable int;
insert into user (id) values (p_id);
-- return all users
select * from user;
END$$

DELIMITER ;

-- and now call it
call addTmpUser(10);

关于MySQL存储过程@语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19597749/

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