我试图在MYsql中创建存储过程,在其中我在一个表中插入一些值,在另一个表中用where子句中的where子句更新一些vale,我面临的问题是我不能同时使用数组和普通值
我尝试了下面的代码,这些代码不起作用。
DELIMITER //
CREATE PROCEDURE p_paymententry1
(
IN p_id int(11),
IN p_date timestamp,
IN p_2000 int(11),
IN p_500 int(11),
IN p_200 int(11),
IN p_100 int(11),
IN p_50 int(11),
IN p_20 int(11),
IN p_10 int(11),
IN p_11 VARCHAR(30)
)
BEGIN
INSERT INTO paymententry_truck (Payment_ID, Date, `2000`, `500`, `200`, `100`, `50`, `20`, `10`)
VALUES (p_id, p_date, p_2000, p_500, p_200, p_100, p_50, p_20, p_10 );
UPDATE trans1 SET paidStatus = LAST_INSERT_ID() WHERE trans1.Sr_NO IN(p_11);
END //
DELIMITER ;然后我打电话给我的程序
CALL p_paymententry1 (NULL, CURRENT_TIMESTAMP, '12', '1','1','1','','','6',15,17);但它的投掷错误
过程t_freight.p_paymententry1的参数数不正确;预期为10,得到11
如何处理这个问题??我希望在我的P_11值中输入数组,这样它就可以将where子句应用于数组中有值的行。
发布于 2019-08-06 10:53:53
我找到了答案
{SET @p0='NULL';SET @p1=‘CURRENT_Time戳’;SET @p2='1';SET @p3='1';SET @p4='1';SET @p5='1';SET @p6='1';SET @p8='1';SET @p8=‘1’;SET @p9='15,17';调用p_paymententry1(@p0,@p1,@p2,@p3,@p4,@p5,@p6,@p7,@p8,@p9);}
https://stackoverflow.com/questions/57373999
复制相似问题