mysql - 如何在 MySQL 中使用变量

标签 mysql stored-procedures

DELIMITER $$

CREATE PROCEDURE usp_SetGems (p_requestid int, p_akcija int)

BEGIN

if(p_akcija=0)
then

declare v_userId int;
declare v_vingems decimal;

SELECT r.user_id INTO v_userId FROM Requests r WHERE r.Id=p_requestid;


end
$$
delimiter;

/* SQL 错误 (1064):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 'declare v_userId int; 附近使用的正确语法。 声明 v_vingems 十进制; 在第 8 行选择 r.user_id INTO v_u' */

不知道问题出在哪里...

最佳答案

First declare all the variables than use if condition like this:
CREATE PROCEDURE usp_SetGems (p_requestid int, p_akcija int)
BEGIN
declare v_userId int;
declare v_vingems decimal;
if(p_akcija=0) then
SELECT r.user_id INTO v_userId FROM Requests r WHERE r.Id=p_requestid;
end
$$
delimiter;

关于mysql - 如何在 MySQL 中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36555318/

相关文章:

java - 使用 JDBC 将用户定义的表类型传递给 SQL Server 存储过程

c# - 存储过程动态排序依据

java - 从 HashMap 中的数据库获取我的数据

mysql - 在 Mysql 中使用 LIMIT 和子查询

php - 计费系统应用程序的数据库设计

c# - 无法将存储过程表输出获取到我的 .NET 应用程序中

oracle - 如何检查存储过程是否存在?

mysql - 不确定 mysql_fetch_array 是否返回结果

mysql - 如何使用多个最昂贵的项目在 sql 中查找最昂贵的项目?

mysql - 加入 mysql 存储过程