【发布时间】:2019-10-14 08:57:26
【问题描述】:
我正在开发一个将数据存储在 DB2 中的应用程序,并且我应该能够在 DB 的表中批量“删除”数据。实际上,“删除”数据的方法是将其“已删除”值更改为“Y”。
表格的形式是:
标识 |姓名 |已删除 |
1 |名称1 |否|
2 |名称2 |否|
...
x |名称 |否|
我想要做的是创建一个 SQL 存储过程,它以一个数组为参数,其中包含我需要从“N”更改为“Y”的项目的 ID。
我(个人)的做法是:
UPDATE MyTable DELETED = 'Y' where id = '1';
所以对于存储过程,我应该只用这种形式发送数组:
[1, 20, 5, ... , x]
并且具有这些 Id 的行应更改为 Y。
我正在考虑的存储过程的结构是:
PROCEDURE deleteSeveral (arrayWithIds)
LANGUAGE SQL
BEGIN
-- loop for ids array
UPDATE MyTable DELETED = 'Y' where id = arrayWithIds[i];
-- Ciclo para recorrer el arreglo
END
有人可以帮我解决这个问题吗?谢谢!
【问题讨论】:
-
什么操作系统运行 Db2 服务器(Z/OS、i 系列、Linux/unix/windows)? Db2 是什么版本?另外,您将从哪种编程语言调用存储过程?
标签: sql arrays stored-procedures db2