首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql存储过程,用于插入加上使用where数组的更新

Mysql存储过程,用于插入加上使用where数组的更新
EN

Stack Overflow用户
提问于 2019-08-06 10:28:33
回答 1查看 57关注 0票数 0

我试图在MYsql中创建存储过程,在其中我在一个表中插入一些值,在另一个表中用where子句中的where子句更新一些vale,我面临的问题是我不能同时使用数组和普通值

我尝试了下面的代码,这些代码不起作用。

代码语言:javascript
复制
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 ;

然后我打电话给我的程序

代码语言:javascript
复制
CALL p_paymententry1 (NULL, CURRENT_TIMESTAMP, '12', '1','1','1','','','6',15,17);

但它的投掷错误

过程t_freight.p_paymententry1的参数数不正确;预期为10,得到11

如何处理这个问题??我希望在我的P_11值中输入数组,这样它就可以将where子句应用于数组中有值的行。

EN

回答 1

Stack Overflow用户

发布于 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);}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57373999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档