mariadb 将SQL查询结果转换为变量

s6fujrry  于 7个月前  发布在  其他
关注(0)|答案(1)|浏览(66)

我有以下SQL查询。SQL查询返回一个值,所以它是工作的。
如何解决这种情况?谢谢
在这里,我想将使用CAST函数找到的INTEGER值赋给NEWMATERIAL,方法是将其递增1。

OBJECT:

INTEGER DGR;

SELECT CAST(RIGHT(MATERIAL,4)AS INTEGER) FROM IASMATMOP WHERE MATERIAL LIKE 'EST-00%' ORDER BY MATERIAL DESC LIMIT 1;

NEWMATERIAL = DGR+1;

如何解决这种情况?谢谢

busg9geu

busg9geu1#

给定的SQL代码首先声明一个名为DGR的INTEGER变量。它继续执行SQL查询,从IASMATMOP表中的MATERIAL列中提取最后4位数字,将这些数字转换为INTEGER,并将结果存储在DGR变量中。然后,它对DGR变量执行一个简单的加1操作。最后,代码将DGR的更新值赋给名为NEWMATERIAL的变量。从本质上讲,这段代码完成了从数据库查询中获得的值的检索、递增和赋值,目的是使递增后的值可供进一步使用。

DELIMITER //

CREATE PROCEDURE UpdateNewMaterial()
BEGIN
  DECLARE DGR INT;

  SELECT CAST(RIGHT(MATERIAL, 4) AS SIGNED) INTO DGR
  FROM IASMATMOP
  WHERE MATERIAL LIKE 'EST-00%'
  ORDER BY MATERIAL DESC
  LIMIT 1;

  SET DGR = DGR + 1;

  UPDATE YourTable SET NEWMATERIAL = DGR; -- Replace YourTable with the actual table name
END //

DELIMITER ;

CALL UpdateNewMaterial();

相关问题